【发布时间】:2015-08-12 03:32:23
【问题描述】:
我的表单中有四个输入元素(即文本框)供用户输入不同的电话号码,即办公室、手机、家庭等。(这些输入字段不一定在一个 div/group 下)在提交之前,我想验证这些电话号码。条目并确保用户输入了至少一个电话号码。如果没有电话号码。字段有有效的条目我的表单不应该得到验证,也不应该发布。
我使用 ParsleyJS 库进行验证并使用 knockout.js。
我的 Razor 视图中有一个字段的以下代码(其余三个字段与此类似):
<div class="col-md-3 clmargin">
<div class="form-group col-md-4 zeropadding div2adjustments">
@Html.LabelFor(m => m.Handphone, new { @class = "fieldtext" })
</div>
<div class="col-md-8 ">
<input type="text" class="form-control fieldtextinput input-sm" maxlength="10" minlength="8" data-parsley-type="digits"
data-bind="value:Handphone, disable:ViewMode() == 'View'" id="handphone">
</div>
</div>
我在上面的代码中给了我的输入,即“handphone”。
Javascript 代码:
$(document).ready(function () {
$('#contact').parsley().subscribe('parsley:form:validate', function (formInstance) {
// if one of these blocks is not failing do not prevent submission
// we use here group validation with option force (validate even non required fields)
if (document.getElementById("other").value == '' && document.getElementById("telephone").value == '' &&
document.getElementById("office").value == '' && document.getElementById("handphone").value == ''){
// else stop form submission
formInstance.submitEvent.preventDefault();
// and display a gentle message
$('.invalid-form-error-message')
.html("Provide atleast one contact no")
.addClass("filled");
return;
}
$('.invalid-form-error-message').html('');
return;
});
});
使用上面的脚本代码,它可以检测到无效的场景,但不会阻止表单提交。
我从here获取了上面的脚本代码
【问题讨论】:
-
你能添加你目前的代码吗?您面临的问题是什么?
-
@milz 刚刚在帖子中添加了代码 sn-ps..
标签: jquery asp.net-mvc validation parsley.js