# Label Placement Top
```html
{{ JSON.stringify(model, 0, 2) }}``` ```js export default { data () { return { size: 'medium', model: { inputValue: null, textareaValue: null, selectValue: null, multipleSelectValue: null, datetimeValue: null, nestedValue: { path1: null, path2: null }, switchValue: false, checkboxGroupValue: null, radioGroupValue: null, radioButtonGroupValue: null, inputNumberValue: null, timePickerValue: null, sliderValue: 0, transferValue: null }, generalOptions: [ 'groode', 'veli good', 'emazing', 'lidiculous' ].map(v => ({ label: v, value: v })), cascaderOptions: [ { label: 'groode', value: 'groode', children: [ { label: 'veli good', value: 'veli good' } ] } ], rules: { inputValue: { required: true, trigger: ['blur', 'input'], message: 'Please input inputValue' }, textareaValue: { required: true, trigger: ['blur', 'input'], message: 'Please input textareaValue' }, selectValue: { required: true, trigger: ['blur', 'change'], message: 'Please select selectValue' }, multipleSelectValue: { type: 'array', required: true, trigger: ['blur', 'change'], message: 'Please select multipleSelectValue' }, datetimeValue: { type: 'number', required: true, trigger: ['blur', 'change'], message: 'Please input datetimeValue' }, nestedValue: { path1: { required: true, trigger: ['blur', 'input'], message: 'Please input nestedValue.path1' }, path2: { required: true, trigger: ['blur', 'change'], message: 'Please input nestedValue.path2' } }, checkboxGroupValue: { type: 'array', required: true, trigger: 'change', message: 'Please select checkboxGroupValue' }, radioGroupValue: { required: true, trigger: 'change', message: 'Please select radioGroupValue' }, radioButtonGroupValue: { required: true, trigger: 'change', message: 'Please select radioButtonGroupValue' }, inputNumberValue: { type: 'number', required: true, trigger: ['blur', 'change'], message: 'Please input inputNumberValue' }, timePickerValue: { type: 'number', required: true, trigger: ['blur', 'change'], message: 'Please input timePickerValue' }, sliderValue: 0, transferValue: { type: 'array', required: true, trigger: 'change', message: 'Please input transferValue' } } } }, methods: { handleValidateButtonClick (e) { e.preventDefault() this.$refs.form.validate(errors => { if (!errors) { this.$NMessage.success('Valid') } else { console.log(errors) this.$NMessage.error('Invalid') } }) } } } ```