Условная проверка с помощью jquery - PullRequest
1 голос
/ 21 июня 2010

Хорошо, это сводит меня с ума.У меня есть страница учетной записи пользователя.Где у вас есть возможность изменить свой пароль.Я хочу условную проверку jquery, чтобы, если пользователь вводит новый пароль в поле нового пароля, поле, подтверждающее пароль, а также поле, запрашивающее старый пароль, превращается в обязательный элемент.Вот мой неопрятный код:

$("#aspnetForm").validate({
    rules: {
      <%=CurrentPass.UniqueID %>: {
          required: <%=NewPass1.UniqueID %>:specified}
      <%=NewPass2.UniqueID %>: {
          required: <%=NewPass1.UniqueID %>:specified}
    }, messages:{}
});

Просто чтобы кое-что прояснить.Я использую: указано, потому что если поле заполнено.Может быть, какое-то другое состояние?

Ответы [ 2 ]

0 голосов
/ 21 июня 2010

Я думаю, что вы хотите использовать equalTo для пароля подтверждения, с текущим паролем, который требуется, если в новом пароле есть данные.

$('form').validate({
     rules: {
         <%= CurrentPass.UniqueID %>: {
                required: '#<%= NewPass1.ClientID %>:filled'
              },
         <%= NewPass2.UniqueID %>: {
                equalTo: '#<%= NewPass1.ClientID %>'
              }
     }
});
0 голосов
/ 21 июня 2010

Эти селекторы должны быть строками, использующими :filled (если :specified не является созданным вами пользовательским селектором), и должны быть найдены по идентификатору вместо имени, например:

$("#aspnetForm").validate({
   rules: {
    <%=CurrentPass.UniqueID %>:{
     required: "#<%=NewPass1.ClientID %>:filled"}
    <%=NewPass2.UniqueID %>:{
     required: "#<%=NewPass1.ClientID %>:filled"}
    }, messages:{}    
   });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...