我的问题是关于什么是必要的和/或最佳实践。
假设,例如,我需要从 Controller 输入一些文本,并且该文本不能为空。
<form action="BaHumBug/Index" method="post" id="xmasTextForm">
<input name="xmasText" type="text" id="xmasTextInput" />
</form>
我是否在客户端强制执行无空文本的规则
$('#xmasTextForm').submit(function(ev) {
{
if ($('#xmasTextForm').val().isWhiteSpace())
{
alert("Fill the input with something, dude!");
return false;
}
}
或者服务器端
[HttpPost]
public ActionResult Index (string xmasText)
{
if (xmasText.IsWhiteSpace())
{
// ....
}
或者我同时做两层保护吗?还是选择取决于其他因素?
最佳答案
至少在 Controller 上进行验证始终是一个好习惯,这样您就可以确保您的应用程序不会接收到无效数据。
客户端的验证也很重要,因为当客户端以错误的方式获取您的表单时,您可以为客户提供良好的反馈。
对代码和 Controller 的良好设计有很大帮助的一件事是应用 TDD(测试驱动开发方法),如果您熟悉,可以访问此 link以获得更多信息。
通过测试,您可以通过理解和考虑对可能拥有的输入情况的良好覆盖来设计您的应用程序。
关于javascript - 当从客户端向服务器发送信息时,我是否在客户端或服务器端(或两者)强制执行规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30518863/