我的表单中有一个文本框
<div class="editor-label">
<label>Job Title</label>
</div>
<div class="editor-field">
<input data-val="true" data-val-required="JobTitle is required and cannot be blank" id="JobTitle" name="JobTitle" type="text" value="TBD" />
<span class="field-validation-valid" data-valmsg-for="JobTitle" data-valmsg-replace="true"></span>
</div>
我添加了自定义验证器
<script>
$.validator.addMethod('validjobtitle', function (value, element) {
// Test 'value' for html here. 'value' is the value of the control being validated.
if ($('#JobTitle').val() == "TBD") {
alert("test");
return false;
}
else return true; // Return true or false depending on if it passes or fails validation, respectively.
}, 'Fix job Title');
$.validator.unobtrusive.adapters.addBool('validjobtitle');
</script>
在其中一个按钮点击中,我验证了这样的元素
var validator = $("form").validate(); // obtain validator
var anyError = false;
$step.find("input,select").each(function () {
if (!validator.element(this)) {
anyError = true;
}
});
由于某种原因,我的自定义验证器无法正常工作。我做错了什么?
答案 0 :(得分:0)
经过一番阅读后,我发现了两件事
创建验证程序并将其添加到适配器后,最重要的步骤是将其链接到要验证的元素。这是使用
完成的$(document).ready(function(){ $('#JobTitle')。规则('add','validjobtitle'); }
答案 1 :(得分:0)
使用内置ASP.NET MVC验证
在视图中创建具有验证和使用的模型。 您将进行客户端/服务器端验证。