# 在表单中使用 `n-dynamic-input` 并不能作为一个单独的表项检验,如果你需要检验 `n-dynamic-input` 里面的内容,可以在自定义内容中传入 `n-form-item` 来完成数据的检验。下面是一个完整的例子。 ```html
{{  JSON.stringify(model.dynamicInputValue, 0, 2) }}
``` ```js export default { data () { return { dynamicInputRule: { trigger: 'input', validator (rule, value) { if (value.length >= 5) return new Error('最多输入四个字符') return true } }, model: { dynamicInputValue: [ { key: 0, value: '' } ] } } }, methods: { onCreate () { return { name: '', value: '', /** 生成 key ,目的是让这个值对应的表项的验证信息不错位 */ key: Math.random().toString(16).slice(2, 10) } }, /** * 由于清除 input 的内容是个外部行为,input 不会发出事件,所以 form-item 无法得到从 * input 发出的事件。于是为了验证结果和显示的值同步,需要手动验证。使用 $nextTick 是因 * 为在接受这个事件时,input 的值刚放在事件中发出,还没有落实到实际的值上,需要等下个 * tick 才能验证新的结果 */ handleClear () { this.$nextTick().then( () => this.$refs.form.validate() ) } } } ```