Sha*_*ean 20 asp.net-mvc jquery jquery-validate unobtrusive-validation asp.net-mvc-3
我正在做类似于远程验证的事情,除了我已经通过jquery手动拨打我的电话并设置我必须设置的任何内容.
现在我的问题是,如果我想告诉验证器特定文本框无效(并阻止页面提交,突出显示文本框等).我怎么从代码中做到这一点?
@Html.LabelFor(m => Model.Slug)
@Html.TextBoxFor(m => Model.Slug)
<span id="UrlMsg" class="field-validation-error" style="display: none;"></span>
if (error) {
$('#UrlMsg').html('This name is already in use.').fadeIn('fast');
//what should I do here for the rest of the validation?
}
Run Code Online (Sandbox Code Playgroud)
Ski*_*ris 50
首先,您可以添加验证摘要:
@Html.ValidationMessageFor(m => m.Slug)
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用.showError方法手动触发jQuery验证/不显眼验证.这是一个示例:
var errorArray = {};
errorArray["Slug"] = 'Some error message for the Slug text box';
$('#SomeFormId').validate().showErrors(errorArray);
Run Code Online (Sandbox Code Playgroud)
你也可以这样做:
@Html.ValidationMessageFor(m => m.Slug)
Run Code Online (Sandbox Code Playgroud)
在您的代码中使用此功能:
function setError(id, message) {
var span = $("span[data-valmsg-for=\"" + id + "\"]");
if (span && span.length > 0) {
$(span).html(message);
if (message && message != "") {
$(span).removeClass("field-validation-valid");
$(span).addClass("field-validation-no-valid");
} else {
$(span).removeClass("field-validation-no-valid");
$(span).addClass("field-validation-valid");
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后可以设置错误
setError("Slug", "errorMsg");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21658 次 |
| 最近记录: |