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

问题描述 投票:2回答:2
// 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>
javascript semantic-ui
2个回答
7
投票

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


0
投票

你只需要添加每个输入的id名称

Password
  <div class="field">
    <label>Verify Password</label>
    <input type="password" name="registerPasswordVerify"  id="registerPassword">
  </div>
© www.soinside.com 2019 - 2024. All rights reserved.