JayData - 服务器端验证 (CRUD)



我想创建一个使用 JayData + WCF/RIA 服务的应用程序,但我需要检测客户端 (Javascript) 实体中的更改,以便将业务逻辑放在服务器端。

例如:如果我更改了客户的名称,我想在服务器上更新它之前进行一些验证。

有没有办法做这样的事情?

    [Insert]
    public void InsertCustomer(Customer customer)
    {
        // Some validation before insert
    }
    [Update]
    public void UpdateCustomer(Customer customer)
    {
        // Some validation before update
    }
    [Delete]
    public void DeleteCustomer(Customer customer)
    {
        // Some validation before delete
    }

为了安全地解决这个问题,你需要在服务器端(而不是在JayData中)执行此操作,并且你需要在.NET方式或你自己上实现身份验证 然后在onupdate服务器端方法中进行检查并制作如下内容:

C# 代码:

[Insert]
public void InsertCustomer(Customer customer) {
    if (! customer.LoginName == Thread.CurrentPrincipal.Identity.Name ) {
      throw new SomeValidtionException()
    }
}

这是你需要的吗?

也许这不是您需要的,但我试一试:您可以使用附加到字段的自定义验证器函数来验证客户端上的字段。以下是您的操作方法:使用 JaySvcUtil 导入数据上下文后.exe修改实体并使用自定义验证器修饰字段:

$data.Entity.extend("UserModel", {
    Id: { type: "int", key: true, computed: true },
    UserName: { type: "string", required: true,
               customValidator: function (v) { return !v || v.length == 3 }, 
               errorMessage: "custom error, length: 3" }
});

在当前版本中,没有实体级别验证函数。如果您希望它们成为用户,请在 JayData.org/backlogs

或问题 github.com/jaydata/jaydata

相关内容

  • 没有找到相关文章

最新更新