Jquery validate делает одно поле обязательным, если другое поле не пустоJquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Jquery validate делает одно поле обязательным, если другое поле не пусто

Сообщение Anonymous »

У меня возникли проблемы с jQuery.validate 1.11, .Net 4.8 и MVC 5 с Razor.
В моем классе есть эти два свойства:

Код: Выделить всё

[StringLength(500, ErrorMessage = "{0} can have a max of {1} characters")]
public string MyProperty { get; set; }

[StringLength(100, ErrorMessage = "{0} can have a max of {1} characters")]
public string MyOtherProperty { get; set; }
И на моей странице Razor у меня есть это:

Код: Выделить всё

@Html.TextBoxFor( m => m.MyProperty )
@Html.TextBoxFor( m => m.MyOtherProperty  )

@using (Html.BeginScripts()) {


$(function () {
MyScriptModule.Init();
}); // end of document.ready

}
И тогда мой файл Javascript выглядит следующим образом:

Код: Выделить всё

var $form = $("#MyForm");
var $submit = $("#Save");

var MyScriptModule = (function () {

var init = function () {

$submit.bind("click", function () {
HandleSubmitLogic();
});

// Initialize form validation
$form.validate({
ignore: [],
rules: {
MyOtherProperty: {
required: function (element) {
return $("#MyProperty").val().length > 0;
}
}
},
errorPlacement: function (error, element) {
error.appendTo(element.parent());
},
});

}; // end init

function HandleSubmitLogic() {

$submit.prop("disabled", true);
ResetFormValidation($form);
$form.validate();
if ($form.valid()) {
$form.submit();
}
$submit.prop("disabled", false);
}
}
Итак, проверка длины срабатывает, как и ожидалось, но я не могу заставить работать это правило, где MyOtherProperty требуется, ЕСЛИ MyProperty имеет значение. Я получил это по другой ссылке на StackOverflow здесь, и, похоже, это соответствует онлайн-документации здесь.
Так что же я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/787 ... -not-empty
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Jquery»