Jak stworzyć prostą, niestandardową regułę za pomocą wtyczki jQuery Validate (używając addMethod
), która nie używa wyrażenia regularnego?
Na przykład, jaka funkcja stworzyłaby regułę, która sprawdza się tylko wtedy, gdy zaznaczone jest co najmniej jedno z grupy pól wyboru?
javascript
jquery
jquery-validate
Edward
źródło
źródło
Odpowiedzi:
Możesz stworzyć prostą regułę, robiąc coś takiego:
A następnie zastosuj to w ten sposób:
Wystarczy zmienić zawartość „addMethod”, aby sprawdzić poprawność pól wyboru.
źródło
źródło
remote
jak sugerują inni, ale o ile mogę stwierdzić, że zezwala tylko na jedną walidację, więc nie zadziałałoby, gdybyś potrzebował dwóch walidacji asynchronicznych lub miał kilka komunikatów o błędach w zależności od odpowiedzi.źródło
Niestandardowa reguła i atrybut danych
Możesz utworzyć niestandardową regułę i dołączyć ją do elementu za pomocą
data
atrybutu za pomocą składnidata-rule-rulename="true";
Aby sprawdzić, czy co najmniej jedno z pól wyboru jest zaznaczone:
sprawdzono jedną regułę danych
addMethod
Możesz także przesłonić komunikat reguły (tzn. Należy wybrać przynajmniej 1) , używając składni
data-msg-rulename="my new message"
.UWAGA
Jeśli używasz tej
data-rule-rulename
metody, musisz upewnić się, że nazwa reguły jest pisana małymi literami. Wynika to z faktu, że funkcja sprawdzania poprawności jQuerydataRules
ma zastosowanie.toLowerCase()
do porównywania, a specyfikacja HTML5 nie zezwala na wielkie litery.Przykład roboczy
źródło
Dzięki, działało!
Oto końcowy kod:
źródło
Możesz dodać niestandardową regułę:
I dodaj to z reguły tak:
źródło
W tym przypadku: formularz rejestracji użytkownika, użytkownik musi wybrać nazwę użytkownika, która nie zostanie podjęta.
Oznacza to, że musimy utworzyć niestandardową regułę sprawdzania poprawności, która wyśle żądanie asynchroniczne http ze zdalnym serwerem.
źródło