Ext-JS Form TextArea Validation Q - PullRequest
       13

Ext-JS Form TextArea Validation Q

1 голос
/ 02 апреля 2011

Я реализовал некоторую проверку в своей форме, расширив класс form.VTypes, чтобы включить еще один vtype, который я сделал лично.Однако я не уверен, что это лучший путь, для начала я хочу контролировать, когда произойдет проверка (onBlur).Я также хочу, чтобы флажок отображался, когда он действителен и значение отправки отключено до тех пор, пока форма не будет заполнена правильно.

Я копался, чтобы посмотреть, как работает атрибут validator текстового поля API Ext-JS API., но я не могу найти хороший пример этого.Работает ли validateOnBlur, используя его?Я пытаюсь увидеть, как все эти различные атрибуты / методы проверки должны работать вместе.Я не знаю, что я должен называть, когда.


РЕДАКТИРОВАТЬ ** У меня установлено сейчас, так что кнопка отправки активна только после того, как она запускает isValid(false) в каждом текстовом поле.Очевидно, это работает как для моей проверки VType, так и для моего allowBlank: false, который я установил.Однако я не понимаю, как выполнить другой метод, когда он действительно действителен ... Я видел действительное публичное событие, но я не был уверен, когда смогу его вызвать (пример был бы потрясающим)

1 Ответ

1 голос
/ 02 апреля 2011

Что-то, что может сделать большую часть того, что вы хотите сделать без особых усилий, это использовать monitorValid: true на Ext.form.FormPanel и добавить formbind: true к кнопкам формы.

new Ext.form.FormPanel({
    monitorValid: true,
    items: [{
            xtype: 'textfield',
            allowBlank: false
            ...
        }, {
            xtype: 'textarea',
            vtype: 'customvtype'
        }],
    buttons: [{
        text: 'Submit',
        formbind: true
    }]
});

При использовании monitorValid, форма также вызовет событие clientValidation, которое вы можете использовать для прослушивания других действий, выполняемых, когда форма станет действительной.

...