【发布时间】:2011-10-27 12:40:54
【问题描述】:
我在 extjs 中有一个表单,我需要在服务器端对其进行一些验证测试并返回消息错误 但我不知道该怎么做!
我需要验证新添加的ip地址是否已经存在
我还需要验证它是否真的是一个有效的地址(我有一个可以做到这一点的 c# 函数)
如果这些条件都可以,可以添加。 如果没有,我想向用户显示一条错误消息,说明问题出在哪里
现在当我调用我的保存按钮提交时,我在执行插入查询之前在我的 c# 上进行了这些测试,但即使这些测试不好,它仍然会在表单上显示成功,因为我不知道如何告诉 extjs4一个错误
编辑 这就是我目前正在尝试做的事情
我的表单提交:
this.up('form').getForm().submit
({
url: 'AddData.ashx',
params: { action: 'addip' },
success: function (form, action) {
Ext.MessageBox.show({ title: 'Success !',
msg: 'IP added successfully<br />',
icon: Ext.MessageBox.INFO,
buttons: Ext.MessageBox.OK
});
Ext.getCmp('addipform').getForm().reset();
},
failure: function (form, action) {
switch (action.failureType) {
case Ext.form.action.Action.CLIENT_INVALID:
Ext.Msg.alert('Failure', 'Form fields may not be submitted with invalid values');
break;
case Ext.form.action.Action.CONNECT_FAILURE:
Ext.Msg.alert('Failure', 'Ajax communication failed');
break;
case Ext.form.action.Action.SERVER_INVALID:
Ext.Msg.alert('Failure', action.result.msg);
}
}
})
在我的 AddData.ashx 中有一个函数 addip(),当操作参数为“addip”时会调用它 这个函数返回:
public string addip()
{
//my queries ...
string result = new JavaScriptSerializer().Serialize("{ success:false, errors:{ text:\"The IP already exist!\", ip:\"The is not an IP !\" } }");
return result;
}
但什么也没发生!
【问题讨论】:
标签: c# forms validation extjs4 server-side