ExtJS 4: как проще всего организовать server-side валидацию? 
		
		
		
		Вопрос по ExtJS 4 
	везде (здесь например) пишется, мол, ответ от сервера должен быть следующем формате: 
{
    success: false,
    errors: {
        clientCode: "Client not found",
        portOfLoading: "This field must not be null"
    }
}
Но никак не найду примера того как этим воспользоваться. Вижу кучу примеров с тем как люди вручную обрабатывают ответ от сервера и расставляют ошибки для полей. Автоматизировано это в ExtJS 4 или нет? И еще вопрос можно ли как-то прямо в конфиге для кнопки указать, что она делает submit своей формы или это тоже руками нужно все писать? Вобщем, в идеале хотелось бы просто сконфигурировать форму указав url-путь для submit'a и кнопку, которая будет делать этот самый submit, а чтобы на основе полученного ответа, если он success: false автоматически отображались ошибки валидации.  | 
	
		
  | 
	
		
 пример кода из компанета формы для ее submit на extjs 4 
	//.... xtype: 'button', handler: function() { var form = this.up('form').getForm(); form.submit({ url: 'register.php', success: function(form, action) { //... }, failure: function(form, action) { //... } }); вот мой пример ответа от сервереа на PHP. (в данном примере результат возвращает ошибку) $response = array( 'success'=>false, 'errors'=>array( 'login'=>'Такой логин уже есть', 'password'=>'Не верно указан пароль', 'confirm_password'=>'Пароли не совпадают', ), 'msg'=>'Ошибка при регистрации!' ); echo json_encode($response); ключи success и errors распазнаются exеjs 4 самостоятельно при success = true будет вызываться функция success при success = false - failure. ключ errors должен содержать массив ключ:значение, где ключ -название поля формы , а значение текст ошибки. ExtJS 4 определит по ним нужные поля и выделит их. msg - это мой параметр доступ к тоторому можно получить из функции success или errors через пераданный им параметр action. Присер: //... failure: function(form, action) { alert(action.result.msg); } //... вы можете задавать таких параметров сколько угодно  | 
| Часовой пояс GMT +3, время: 02:31. |