【问题标题】:Cannot validate fields in vue.js无法验证 vue.js 中的字段
【发布时间】:2020-12-03 15:04:56
【问题描述】:

我的表单上生成了动态字段,所有要设置的验证都是从数据库中检索的(即该字段是必需的还是可选的,并且数值或字符串都保存在数据库中),现在当页面呈现我想验证我的表单我正在尝试编写我自己的自定义方法但它无法验证表单,问题在于自定义方法错误消息未显示并且表单也在未经验证的情况下提交。

<input v-model="field.user_value" :name="field.name" v-on:input="validateTextInput(field.field_validations,$event)" type="text" class="form-control input-md form-control"/>

methods: {
    validateTextInput(validations,event)
    {
      if(validations.req=='required')
      {
       if(event.target.value=='')
       {
         alert('This field is required');
         return false;
       }

       if(validations.allowed=='string')
       {
        
       }


      }

【问题讨论】:

    标签: jquery vue.js vuejs2 vuelidate vue-validator


    【解决方案1】:

    您没有为事件使用正确的变量,请使用 $event 而不是 e.target.value

    <input v-model="field.user_value" :name="field.name" v-on:input="validateTextInput(field.field_validations, $event)" type="text" class="form-control input-md form-control"/>
    
    methods: {
        validateTextInput(validations,event)
        {
          if(validations.req=='required')
          {
           if(event.target.value=='')
           {
             alert('This field is required');
             return false;
           }
    
           if(validations.allowed=='string')
           {
            
           }
    
    
          }
    

    【讨论】:

    • 我得到了价值,但我的问题是如何显示错误并阻止表单提交,或者有没有更好的方法来进行这种类型的验证,我已经更新了我的代码。
    • 在 data() 下创建一个变量,例如:“formIsValid: false”,如果这些字段中的任何一个有问题,请将其设置为“this.formIsValid= true”,然后收听提交表单的事件并可能禁用该功能看看:vuejs.org/v2/cookbook/form-validation.html
    • 可以使用 vuelidate 库进行此类验证
    • 可能,如果你有足够的知识。
    猜你喜欢
    • 2021-01-19
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    • 1970-01-01
    • 2022-01-05
    相关资源
    最近更新 更多