我创建了一个表单来更改我当前用户配置文件的一些值 我的主表单包含多个控件。如果我不填写旧密码和新密码,我不希望不显眼的验证将字段切换到错误状态。
以下代码工作一次。
我的意思是,如果两个字段都为空,则它们将被忽略。下一次,代码传入 //#2 如果我填写一个,它仍然被忽略
$.fn.MyProfile_Save = function () {
///<summary>
///MyProfile save button click handle
///</summary>
var form = $("#frmMyProfile");
///Check witch fields must be validated
var PwdOld = $("#pwdOldPassword");
var PwdNew = $("#pwdNewPassword");
if ((PwdOld.val() + PwdNew.val()) == '') {
//#1
PwdOld.attr("data-val", "false");
PwdNew.attr("data-val", "false");
} else {
//#2
PwdOld.attr("data-val", "true");
PwdNew.attr("data-val", "true");
}
$.validator.unobtrusive.parse(form);
if (form.valid()) {
alert("form valid");
} else {
alert("form NOT valid");
}
}
你能帮我理解为什么它只工作一次吗?