请帮助,有没有办法在void方法中组织服务器端文本框字段验证?以下代码部分:
主要无效方法:
// Add new row into SQL DB
public void AddNewRow(MyClass obj)
{
bool fieldsValid = CheckFields(obj);
if (fieldsValid)
{ ... // It's Ok, save new row
}
// Check fields values method
public bool CheckOTKFields(MyClass obj)
{
bool result = true;
if (obj.ObjectProperty % 2 == 0 || !(obj.ObjectProperty is int))
{
@ViewBag.Otl1_DividingError = "Error description";
result = false; // Flag to false
}
... // Other properties
return (result);
}
我尝试过@ViewBag变量,但是当页面加载\刷新时有很多困难。你可能知道更好的方法吗?或者我只能使用客户端(js \ jQ)验证?
答案 0 :(得分:1)
如果您从POST操作返回响应,则可以设置:
ModelState.AddModelError("", "Error Description");
第一个参数是指模型的特定属性,但空字符串有效。 POST的响应将显示在验证摘要结果中。
困难在于它无法撤消您之前采取的任何行动;你必须首先确保对所有项目进行验证,然后一旦安全继续进行你想要执行的任何操作。