标签: data-annotations

使用属性作为属性参数

我写了一个自定义信用卡验证属性,检查CardNumber属性是否对特定卡类型有效(同一类中的另一个属性)

[CardValidationBinCheck(this.CardType, 
                        ErrorMessage = "CreditCardNumberDoesNotMatchCardType")]
public string CardNumber
{
 ...
}
Run Code Online (Sandbox Code Playgroud)

这不会编译,因为工作室抱怨属性参数必须是常量,类型表达式或属性参数类型(?)的数组创建表达式.

无论如何我可以通过cirvumvent这个并将我传递this.CardType给属性?

善良,

c# attributes data-annotations

0
推荐指数
1
解决办法
405
查看次数

ASP.NET MVC 2 RC - 使用Data Annotations的客户端验证失败,具有多个属性

在模型上使用Data Annotations时,我遇到了为客户端验证而发出的JavaScript的问题.这是一个模型的示例,它可以很好地处理两个必填字段,然后是发出的JavaScript:

public class LoginUserViewModel
    {
        [Required(ErrorMessage = "Email required")]
        public string EmailAddress { get; set; }

        [Required(ErrorMessage="Password required")]
        public string Password { get; set; }
    }
}

//<![CDATA[
if (!window.mvcClientValidationMetadata) { window.mvcClientValidationMetadata = []; }
window.mvcClientValidationMetadata.push({"Fields":[{"FieldName":"EmailAddress","ReplaceValidationMessageContents":true,"ValidationMessageId":"form0_EmailAddress_validationMessage","ValidationRules":[{"ErrorMessage":"Email required","ValidationParameters":{},"ValidationType":"required"}]},{"FieldName":"Password","ReplaceValidationMessageContents":true,"ValidationMessageId":"form0_Password_validationMessage","ValidationRules":[{"ErrorMessage":"Password required","ValidationParameters":{},"ValidationType":"required"}]}],"FormId":"form0","ReplaceValidationSummary":false});
//]]> 
Run Code Online (Sandbox Code Playgroud)

一旦我在EmailAddress字段上添加了另一个属性(正则表达式属性),JavaScript就不再发出任何规则.请注意,在下面的JavaScript中,只有一个空数组,其中应该是规则.这是改变和脚本.有任何想法吗?

public class LoginUserViewModel
    {
        [Required(ErrorMessage = "Email required")]
        [RegularExpression(@"^[a-z0-9]+([-+\.]*[a-z0-9]+)*@[a-z0-9]+([-\.][a-z0-9]+)*{2,4}$", ErrorMessage = "Invalid email format")]
        public string EmailAddress { get; set; }

        [Required(ErrorMessage="Password required")]
        public string Password { get; set; }
    }

//<![CDATA[
if (!window.mvcClientValidationMetadata) { window.mvcClientValidationMetadata = []; } …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net-mvc jquery-validate data-annotations

0
推荐指数
1
解决办法
1357
查看次数

我应该在哪里将EF实体和数据注释放在asp.net mvc +实体框架项目中

所以我有一个由EntityFramework4为我的sqlexpress08数据库生成的DataEntity类.此数据上下文通过WCF数据服务/ Odata公开给silverlight和win表单客户端.

数据实体+ edmx文件(由EF4生成)是否应该进入单独的类库?

这里的问题是我会为几个实体指定数据注释,然后其中一些需要特定的MVC属性(比如CompareAttribute),所以类库也会引用mvc dll.也恰好有实体用户将被封装或包装到网站中的IIdentity中.所以它与mvc网站很相关.或者它应该放在mvc项目本身的Base文件夹中?

大多数网站是围绕数据库的数据驱动,如批准用户,更改全局设置等.真正的业务发生在silverlight和win form应用程序中.

我使用mvc3 rc2与Razor.
谢谢

asp.net-mvc entity-framework project-organization data-annotations asp.net-mvc-3

0
推荐指数
1
解决办法
809
查看次数

用于比较2个对象的通用代码

我有两个不同的对象需要比较平等

我可以使用反射来编写一些代码来比较属性值,但是想知道.net 4.0中是否有任何新模式可以解决这个问题

.net c# comparison data-annotations

0
推荐指数
1
解决办法
1339
查看次数

ASP.NET MVC - DisplayFormat属性

在我的模型中,我有具有日期时间类型的MyDate属性.我在此模式下使用DisplayFormat属性对属性进行签名:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy hh:mm}")]
public DateTime MyDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

在我看来:

...
<%= Html.EditorFor(model => model.Evento.MyDate)%>
...
Run Code Online (Sandbox Code Playgroud)

为什么如果财产的价值是'2011-05-03 14:47',在我看来(进入EditorFor)我看到'03/05/2011 02.47'?

DataFormatString是正确的!

非常感谢你的回复

阿尔贝托

.net dataformat editorfor data-annotations asp.net-mvc-2

0
推荐指数
1
解决办法
1万
查看次数

ASP NET 4如何使用带有MinLength属性的DataType密码的数据注释?

public class ChangePasswordObject {

    [Required] [DataType(DataType.EmailAddress)]
    string email;
    [Required]
    string authorization_code;
    [Required] [DataType(DataType.Password)]
    string password;
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net validation data-annotations

0
推荐指数
1
解决办法
4938
查看次数

正则表达式验证器,用于以1开头的八位长编号

我知道我可以使用[Required],[StringLength]标注用于验证空字符串和长度要求,但想用相同的正则表达式验证他们.我没有尝试,因为我对正则表达式不是很好.

正则表达式应该验证

1.空字符串(不应该被允许)

2.人物长度(8)

3.Integer

4.开始编号(应为1)

这是代码:

 [DisplayName("Account Number:")]
 [RegularExpression("", 
             ErrorMessage = "An eight digit long number starting with 1 required")]
 public string accountNo { get; set; }
Run Code Online (Sandbox Code Playgroud)

提前致谢 !

regex data-annotations asp.net-mvc-3

0
推荐指数
1
解决办法
4974
查看次数

MVC4验证DataAnnotations无效(未验证)

我有一个非常复杂的模型和视图(下图).我只有一个必填项(Key Active Mg).当我标记[Required(ErrorMessage="Key Active Mg is required")]@Html.ValidationMessageFor为该字段设置时,我的应用程序将允许我输入任何内容并单击"保存".当然Model.IsValid会回来false.它没有返回并以红色标出该字段,表明它是必需的.有谁知道为什么?

我的模特:

    public class RawValues
    {
        [Key]
        public int Pk { get; set; }

        public int? FillerFk { get; set; }
        [Display(Name = "Filler")]
        [ForeignKey("FillerFk")]
        public virtual Filler Filler { get; set; }

        public int? CapsuleFk { get; set; }
        [Display(Name = "Capsule")]
        [ForeignKey("CapsuleFk")]
        public virtual Capsule Capsule { get; set; }

        public int? KeyActiveFk { get; set; }
        [Display(Name = "Key Active")]
        [ForeignKey("KeyActiveFk")]
        public virtual …
Run Code Online (Sandbox Code Playgroud)

c# validation asp.net-mvc data-annotations

0
推荐指数
1
解决办法
1万
查看次数

如何在MVC5中使用数据注释来验证手机号码

我需要使用数据注释来验证所有印度手机号码。在我的模型中,我使用以下代码

    [Required]
    [Display(Name = "Mobile Number")]
    [CustomRemote("IsMobileNoAvailable", "Employees",
     ErrorMessage = "Mobile No already in use", AdditionalFields = "Id")]
    [?]

    public string ContactNumber { get; set; }
Run Code Online (Sandbox Code Playgroud)

但是我很困惑我需要写些什么来代替[?]吗?请建议我验证手机号码的最佳方法。

asp.net-mvc data-annotations

0
推荐指数
1
解决办法
7190
查看次数

创建遗留类的Bean,无需修改且无需xml配置

我有一些现有的旧式帮助程序类,没有bean注释,也没有xml配置。我想为相同的类创建bean,而无需修改(不添加注释),并且在xml中没有任何额外的配置。可能吗?

java spring annotations data-annotations spring-boot

0
推荐指数
1
解决办法
50
查看次数