语义UI表单匹配验证不起作用

时间:2017-03-14 18:01:35

标签: javascript semantic-ui

// Register form validation
  $('.register-form')
  .form({
    on: 'blur',
    fields: {
      registerEmail: {
        identifier  : 'registerEmail',
        rules: [{
            type   : 'email',
            prompt : 'Please enter a valid email address.'
        }]
      },
      registerPassword: {
        identifier  : 'registerPassword',
        rules: [{
            type   : 'empty',
            prompt : 'Please enter a password.'
        }]
      },
      registerPasswordVerify: {
        identifier  : 'registerPasswordVerify',
        rules: [{
            type   : 'match[registerPassword]',
            prompt : 'Your passwords do not match.'
        }]
      }
    },
    onSuccess: function() {
      $scope.createUser();
      console.log("Passed");
    },
    onFailure: function() {
      console.log("Failed");
    }
  });

不确定这里到底有什么问题,但我只是想让两个密码字段匹配,但我一直得到“你的密码不匹配”的错误。这也是我的HTML:

<div class="field">
        <label>Password</label>
        <input type="password" name="registerPassword" ng-model="password">
      </div>
      <div class="field">
        <label>Verify Password</label>
        <input type="password" name="registerPasswordVerify">
      </div>

2 个答案:

答案 0 :(得分:7)

我遇到了同样的问题。尝试了几个选项后,我意识到registerPassword内的match[registerPassword]未定义。 match不是要查找输入的名称,而是查找输入的id 因此,如果您将id="registerPassword"放入密码输入中。这应该工作。我不知道为什么这不在文档中。

答案 1 :(得分:0)

您将只添加每个输入的ID名称

        密码                
  <div class="field">
    <label>Verify Password</label>
    <input type="password" name="registerPasswordVerify"  id="registerPassword">
  </div>