如何验证inspect元素输入的输入?

时间:2017-01-28 06:40:06

标签: c# validation

我在该应用程序中使用C#mvc我有一个带有只读属性的TextBox,并使用正则表达式来限制特殊字符。它可以很好地获取输入(没有readonly),但是当那时查看一页中的详细信息TextBox将是只读的。

如果我使用inspect元素更改值,则异常将引发该字段的错误消息

我正在使用此代码验证

[RegularExpression(@"^[a-zA-Z0-9\s\-]+$", ErrorMessage = "Special Characters are not allowed")]

1 个答案:

答案 0 :(得分:1)

  

我有一个带有只读属性的TextBox,并使用正则表达式来限制特殊字符。它可以很好地获取输入(没有readonly),但是当那时查看一页中的详细信息TextBox将是只读的。

如果我使用inspect元素更改值,则异常将引发该字段的错误消息

换句话说,正则表达式在用户填写表单时工作正常,并且只允许正则表达式允许的字符。在另一个页面中,您显示信息,但出于查看目的(只读),您担心用户可以使用浏览器devloper工具(检查元素)更改只读字段。因此,您希望正则表达式阻止它。

始终在服务器上验证

您永远不应该信任在Web表单中提交的输入。即使在第一种情况下,当您允许用户编辑字段时,用户也可以关闭正则表达式。这就是您应该再次验证服务器端代码的原因。

在第二种情况下,当您只是显示信息时,如果用户进入幕后(开发人员工具)并更改字段,则用户无法提交信息,那么您不必担心。但是,如果更改影响了另一个可以提交的项目,那么您需要在服务器端验证它。

您应始终始终检查服务器端的Web表单输入,即使您已在客户端进行了检查。如果用户精明,他们甚至可以为下拉列表添加更多选项,从中选择项目,然后提交表单。因此,不要相信它。