动态设置必填字段

发布于 2024-10-01 07:11:22 字数 96 浏览 1 评论 0原文

我很好奇如何动态设置模型的验证属性。例如,我经常有这样的视图:当用户处于某个角色时,某些字段应该是必需的,但当用户处于另一个角色时则不需要。我希望相应地设置服务器端和客户端验证。

I'm curious how I can dynamically set a model's validation attributes. For instance, I often have Views where certain fields should be required when a user is in a certain role, but not required when a user is in another role. I would like both the server-side and client-side validation to be set accordingly.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

多情癖 2024-10-08 07:11:22

这样的东西在服务器端不适合你吗?

public class RequiredForRoleAttribute : ValidationAttribute
{
    public string Role { get; set; }

    public override bool IsValid(object value)
    {
        return !Roles.IsUserInRole(Role) || (value != null && !string.IsNullOrEmpty((string)value));
    }
}

一个示例用法是:

        [RequiredForRoleAttribute(Role = "Admins", ErrorMessage = "Phone number is required for members of the admin role.")]
    public string PhoneNumber { get; set; }

现在,对于客户端,

您必须将其注册以进行远程验证,如以下链接所述; http://forums.asp.net/t/1559594.aspx/1

希望你能明白,

克里斯

Wouldn't something like this work for you for the server side?

public class RequiredForRoleAttribute : ValidationAttribute
{
    public string Role { get; set; }

    public override bool IsValid(object value)
    {
        return !Roles.IsUserInRole(Role) || (value != null && !string.IsNullOrEmpty((string)value));
    }
}

And an example usage will be;

        [RequiredForRoleAttribute(Role = "Admins", ErrorMessage = "Phone number is required for members of the admin role.")]
    public string PhoneNumber { get; set; }

Now for the client side of things,

Your going to have to register it for remote validation as described at the following link; http://forums.asp.net/t/1559594.aspx/1

Hope you get it,

Chris

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文