我在我的Grails應用程序使用jQuery Validate plugin, 下面是從GSP的代碼驗證:jQuery驗證equalTo不是Grails的工作
<script type="text/javascript">
$(document).ready(function() {
$('.save').attr('disabled', true);
jQuery.validator.addMethod("noSpace", function(value, element,e) {
return value.indexOf(" ") < 0 && value != "";
}, "${message(code:'sherif.jqueryValidation.nospaces')}");
$('#myForm').validate({
errorElement: "label",
errorClass:'error',
success: function() {
$('.save').attr('disabled', false);
},
rules :
{
username:{required : true,noSpace:true},
password :{required : true,noSpace:true},
confirmPassword:{required : true,noSpace:true,equalTo:"#password"},
contactNumber: { required : true, number:true},
email:{required:true , email:true}
}
,
messages : {
username:{required :"${message(code:'sherif.jqueryValidation.required')}"},
password : {required :"${message(code:'sherif.jqueryValidation.required')}"},
email:{required :"${message(code:'sherif.jqueryValidation.required')}" , email:"${message(code:'sherif.jqueryValidation.invalidemail')}"},
confirmPassword: {required :"${message(code:'sherif.jqueryValidation.required')}" , equalTo:"${message(code:'sherif.jqueryValidation.passwordmatch')}"},
contactNumber: { required : "${message(code:'sherif.jqueryValidation.required')}", number:"${message(code:'sherif.jqueryValidation.numberonly')}"}
}
});
});
</script>
所有驗證工作正常,除了equalTo
驗證,雖然兩個密碼字段具有相同的值,我得到一個password doesn't match
錯誤。
這裏是密碼字段:
<div class="row form-group">
<div class="fieldcontain ${hasErrors(bean: usersInstance, field: 'password', 'error')} required">
<div class="col-sm-2 "><label for="password">
<g:message code="users.password.label" default="Password" />
<span class="required-indicator">*</span>
</label>
</div>
<div class="col-sm-10"> <g:passwordField style = "width:40%;" class="form-control input" name="password" required="" value="${usersInstance?.password}"/>
</div>
</div>
</div>
<div class="row form-group">
<div class="fieldcontain ${hasErrors(bean: usersInstance, field: 'confirmPassword', 'error')} required">
<div class="col-sm-3 "><label for="confirmPassword">
<g:message code="users.confirmPassword.label" default="confirm Password" />
<span class="required-indicator">*</span>
</label>
</div>
<div class="col-sm-9"> <g:passwordField style = "width:40%;" class="form-control input" name="confirmPassword" required="" value="${usersInstance?.confirmPassword}"/>
</div>
</div>
</div>
有什麼我錯過了,可能會導致這個錯誤?
這將有助於看到實際呈現的HTML,那麼我們可以驗證'name =「password」'字段包含'id =「password」''屬性。 – Sparky