Переопределение функции проверки dijit и использование атрибута regExp - PullRequest
0 голосов
/ 02 декабря 2009

Я новичок в додзё и действительно могу использовать некоторую помощь со следующими 2 примерами проверки полей.

В следующем примере поля dijit.form.ValidationTextBox указание свойства validator, по-видимому, отменяет использование regExp. (т.е. поле больше не соответствует правилу regExp). Как мне заставить это сделать оба?

<input dojoType="dijit.form.ValidationTextBox"<br> type="password"<br> name="password2"<br> id="password2"<br> maxLength="50"<br> trim="true"<br> regExp="[\w]+"<br> required="true"<br> validator="return this.value == dijit.byId('password').value"<br> invalidMessage="Confirmation password must match password" />

У меня есть другой подобный пример, где одно поле зависит от значения другого, но у меня нет правильного синтаксиса.

<input dojoType="dijit.form.ValidationTextBox" type="text"<br> name="homePhone"<br> id="homePhone"<br> style="width:20%"<br> maxLength="10"<br> trim="true"<br> required="false"<br> regExp="[\d]{10}"<br> validator="return (dijit.byId('preferredContactMethod').value == "home") && (this.value != null)"<br> invalidMessage="Home phone required (ie. 9198887777)"<br> />

1 Ответ

0 голосов
/ 02 декабря 2009

Корректное; реализация по умолчанию dijit.form.ValidationTextBox.prototype.validator () состоит в том, чтобы сопоставить this.value с this.regExp, а также проверить различные другие ограничения, например this.required. Посмотрите на источник, чтобы увидеть, как это делается. Если вы переопределите это, вы сами обеспечите реализацию. Ваша реализация может выбрать делегирование методу-прототипу и логически 'и' результаты с вашими собственными тестами. Вы также можете переопределить isValid.

...