MVC专题 专题
您的位置:csharp > MVC专题专题 > ASP.Net MVC验证
ASP.Net MVC验证
作者:--    发布时间:2019-11-19

验证是asp.net mvc应用程序中的一个重要方面。 它用于检查用户输入是否有效。 asp.net mvc提供了一组易于使用的验证,同时也是检查错误并在必要时向用户显示消息的强大方法。

dry

dry代表(don’t repeat yourself )不要重复自己,是asp.net mvc的核心设计原则之一。从开发的角度来看,鼓励只在一个地方指定功能或行为,然后在整个应用程序中使用它。
这样可以减少编写的代码量,使代码编写起来更容易,更容易维护。

为模型添加验证

下面来看看,如何为上一章项目添加员工时验证的一个简单例子。 在这个例子中,我们将数据注释添加到模型类,它提供了一些内置的验证属性集,可以直接在应用程序中应用到任何模型类或属性,例如:required,stringlength,regularexpression和range验证属性。

它还包含格式化属性,如datatype帮助格式化,不提供任何验证。 验证属性指定要对其应用的模型属性强制执行的行为。

required和minimumlength属性指示属性必须具有值; 但是没有任何东西阻止用户输入空白格来满足这个验证。regularexpression属性用于限制可输入的字符。

可以通过添加不同的注释属性来更新employee类,如以下代码所示 -


	

还需要对数据库设置限制。 但是,sql server对象资源管理器中的数据库显示name属性被设置为nvarchar(max),如以下截图所示 -

现在我们还需要对数据库设置限制。 但是,sql server对象资源管理器中的数据库显示name属性被设置为nvarchar(max),如以下屏幕截图所示 -

为了在数据库上设置这个限制,我们将使用迁移来更新模式。

工具 -> nuget程序包管理器 -> 程序包管理器控制台 打开程序包管理器控制台窗口。

在软件包管理器控制台窗口中逐个输入以下命令。

enable-migrations
add-migration dataannotations
update-database

以下是在 程序包管理器控制台 窗口中执行这些命令后的日志。

visual studio也将打开从dbmigration类派生的类,可以在其中看到更新up方法中的模式约束的代码 -

namespace mvcsimpleapp.migrations {
   using system;
   using system.data.entity.migrations;

   public partial class dataannotations : dbmigration{
      public override void up(){
         altercolumn("dbo.employees", "name", c => c.string(maxlength: 60));
      }

      public override void down(){
         altercolumn("dbo.employees", "name", c => c.string());
      }
   }
}

name字段的最大长度为60,这是数据库中新的长度限制,如以下快照中所示 -

运行此应用程序并通过指定以下url转到创建视图:http://localhost:63004/employee/create-

在这些字段中输入一些无效的数据,然后点击 创建 按钮,如下图所示 -

看到jquery客户端验证检测到错误,并且还显示错误消息。


网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册