小编ada*_*mlj的帖子

服务器端验证

我无法弄清楚如何将服务器端DbContext验证错误返回给客户端.据我所知,Breeze有默认的验证器可以对一些属性做出反应,例如Required,但是所有其他属性呢?我可以为Breeze编写一个自定义JavaScript验证器,它将在客户端进行检查,但我还需要检查以确保该实体在服务器端是有效的.

例如,应用程序要求a Person具有有效的电子邮件地址.恶意用户出现并通过客户端获取电子邮件地址,并使用无法通过EmailAddress验证程序的数据发布到服务器.到目前为止,我对Breeze的体验是,电子邮件地址将保存并且不会冒出任何DbContext实体框架错误.

假设下面的模型,获得任何实体验证错误的最佳方法是什么?

public class PeopleContext : DbContext
{
    public PeopleContext()
        : base("name=ConnectionString"){ }

    public DbSet<Person> People { get; set; }
}

public class Person
{
    public int PersonId { get; set; }
    public string FirstName { get; set; }
    [Required]
    public string LastName { get; set; }
    [EmailAddress]
    [Required]
    public string Email { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

更新1:

以下是重新创建我遇到的问题的一些说明.

  1. 按照说明创建"Todo"示例(http://www.breezejs.com/documentation/start-nuget)
  2. BreezeSampleTodoItem.cs文件添加新的自定义验证器:

    [AttributeUsage(AttributeTargets.Property)]
    public class CustomValidator …
    Run Code Online (Sandbox Code Playgroud)

validation dbcontext breeze

5
推荐指数
1
解决办法
1750
查看次数

标签 统计

breeze ×1

dbcontext ×1

validation ×1