Я использую Ext.direct.RemotingProvider. На стороне сервера я делаю некоторые проверки проверки. Ответ отправляется обратно в формате JSON.Ext.Direct Form Integration
Если я обнаружил ошибки при выполнении проверок проверки, поле success = false, а ошибки будут содержать ошибку.
Я пытаюсь выяснить, как отразить ошибки, которые я обнаружил на стороне сервера в форме (на стороне клиента).
В приведенной ниже ссылке приведен пример того, чего я хочу достичь. Когда клиент нажимает «отправить», в форме появляется сообщение об ошибке, как оно работает?
В коде я пост в нижней части происходит следующее: в браузере есть 2 поля (Имя, E-mail) и 2 кнопки. Поля на данный момент неактуальны. они используются как соски.
Каждый раз, когда пользователь нажимает кнопку «Добавить», новое действие добавляется в callBuffer из Ext.direct.RemotingProvider Когда пользователь нажимает кнопку «Применить», все действия отправляются на маршрутизатор (MVC модель), а оттуда - к определенному контроллеру. (функция sfw.Direct.getProvider ('sfwProvider'). triggerAndSend() запускается).
На данный момент я намеренно не отвечаю на запросы и создаю поле ошибки, точно так же, как ссылка на ссылку, добавленная в начале Потока. Я положил в поле ошибок {email = "Уже существует"}. , но я не вижу эффекта в форме.
что я делаю неправильно?
Код:
appWiki.main_panel = new Ext.FormPanel({
renderTo: 'extjs_panels_container'
, id: 'appWiki_main_panel'
, name: 'appWiki_main_panel'
, defaultType: 'textfield'
, items: [
{
fieldLabel: 'Name',
name: 'name'
}
,{
fieldLabel: 'Email',
msgTarget: 'side',
name: 'email'
}]
,buttons:[
{xtype: 'sfw.Button'
, text: 'Add'
, handler: function(){sfw.rule.store.api.readByRowId({data: {_ROWID_: 1}});}
}
,{text: 'Submit'
, handler: function(){
appWiki.main_panel.getForm().submit({
});
}
}]
,api: {
// The server-side must mark the submit handler as a 'formHandler'
submit: sumbitAllRequests
}
, load: function()
{
setTimeout("hide_loading_mask()",2000);
}
});
привет Jaitsu, то есть то, что я не возвращаюсь с сервера, но не влияет на форму -> { «тип»: «rpc», «status»: true, «tid»: 5, «result»: {«success»: false, «errors»: {«email»: «уже принят»}}} – batz
Я отредактировал свой ответ , вам просто нужно включить быстрые подсказки – JamesHalsall
Привет, я добавил Ext.QuickTips.init(); в начале (до создания formPanel), но все еще не работает ... больше идей о том, что я могу пропустить? – batz