首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PLINQO中捕获BrokenRuleException?

如何在PLINQO中捕获BrokenRuleException?
EN

Stack Overflow用户
提问于 2009-11-30 20:26:30
回答 1查看 409关注 0票数 0

我创建了一个自定义规则,方法是将

代码语言:javascript
复制
 static partial void AddSharedRules()
 {
            RuleManager.AddShared<Tag>(
                new CustomRule<String>(
                    "TagName",
                    "Invalid Tag Name, must be between 1 and 50 characters",
                    IsNullEmptyOrLarge));
 }

添加到我的实体类。

然后我添加了规则(就像在视频中看到的,尽管视频有日期并且有错误的信息):

代码语言:javascript
复制
public static bool IsNullEmptyOrLarge( string value )
    {
        return (value == null
            || String.IsNullOrEmpty(value)
            || value.Length > 50);
    }

但是现在我有了调用代码…

代码语言:javascript
复制
try    
{    
    // some code
}
catch ( CodeSmith.Data.Rules… ??? )
{

// I can’t add the BrokenRuleException object. It’s not on the list.
}

我有:赋值,安全和验证。

在PLINQO中捕获违规异常的正确方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-12-01 15:25:17

下面是您需要做的,首先在您的项目中添加一个引用

代码语言:javascript
复制
System.ComponentModel.DataAnnotations

using CodeSmith.Data.Rules;

然后

代码语言:javascript
复制
try
{
    context.SubmitChanges();
}
catch (BrokenRuleException ex)
{
    foreach (BrokenRule rule in ex.BrokenRules)
    {
        Response.Write("<br/>" + rule.Message);
    }
}

如果要更改默认消息,则可以转到实体并将属性从

代码语言:javascript
复制
[Required]

代码语言:javascript
复制
[CodeSmith.Data.Audit.Audit]
private class Metadata
{
    // Only Attributes in the class will be preserved.

    public int NameId { get; set; }

    [Required(ErrorMessage="please please please add a firstname!")]
    public string FirstName { get; set; }

您还可以使用这些类型的数据注记属性

代码语言:javascript
复制
    [StringLength(10, ErrorMessage= "The name cannot exceed 10 characters long")]
    [Range(10, 1000, ErrorMessage = "Value for {0} must be between {1} and {2}.")]
    [RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$", ErrorMessage = "Characters are not allowed.")]
    public string FirstName { get; set; }

HTH

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1819526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档