Asp.net mvc 需要客户端验证mvc 2编号错误
我有一个使用此模型的ASP.NET MVC2项目:Asp.net mvc 需要客户端验证mvc 2编号错误,asp.net-mvc,client-side-validation,Asp.net Mvc,Client Side Validation,我有一个使用此模型的ASP.NET MVC2项目: [DisplayName("Valor(%)")] [Required(ErrorMessage = "Este dato es requerido")] public decimal HOJ_ATI_CONT_SAPO_VALOR1 { get; set; } [DisplayName("Valor(%)")] public decimal HOJ_ATI_CONT_SAPO_VALOR2 { ge
[DisplayName("Valor(%)")]
[Required(ErrorMessage = "Este dato es requerido")]
public decimal HOJ_ATI_CONT_SAPO_VALOR1 { get; set; }
[DisplayName("Valor(%)")]
public decimal HOJ_ATI_CONT_SAPO_VALOR2 { get; set; }
视图:
以及输出客户端验证:
{
"FieldName": "HOJ_ATI_CONT_SAPO_VALOR1",
"ReplaceValidationMessageContents": true,
"ValidationMessageId": "HOJ_ATI_CONT_SAPO_VALOR1_validationMessage",
"ValidationRules": [
{
"ErrorMessage": "Este dato es requerido",
"ValidationParameters": {},
"ValidationType": "required"
},
{
"ErrorMessage": "The field Valor(%) must be a number.",
"ValidationParameters": {},
"ValidationType": "number"
}
]
},
{
"FieldName": "HOJ_ATI_CONT_SAPO_VALOR2",
"ReplaceValidationMessageContents": true,
"ValidationMessageId": "HOJ_ATI_CONT_SAPO_VALOR2_validationMessage",
"ValidationRules": [
{
"ErrorMessage": "The Valor(%) field is required.",
"ValidationParameters": {},
"ValidationType": "required"
},
{
"ErrorMessage": "The field Valor(%) must be a number.",
"ValidationParameters": {},
"ValidationType": "number"
}
]
}
为什么十进制字段会添加默认的必需属性?
我需要删除必需的validationtype。您的小数必须可以为空,否则MVC将要求它们
[DisplayName("Valor(%)")]
[Required(ErrorMessage = "Este dato es requerido")]
public decimal? HOJ_ATI_CONT_SAPO_VALOR1 { get; set; }
[DisplayName("Valor(%)")]
public decimal? HOJ_ATI_CONT_SAPO_VALOR2 { get; set; }
我相信这是因为不存在空的小数点-如果没有设置小数点,那么它将存储为“0”。如果您尝试在MVC操作方法上向十进制参数传递一个空白字段,这一点就更清楚了
[DisplayName("Valor(%)")]
[Required(ErrorMessage = "Este dato es requerido")]
public decimal? HOJ_ATI_CONT_SAPO_VALOR1 { get; set; }
[DisplayName("Valor(%)")]
public decimal? HOJ_ATI_CONT_SAPO_VALOR2 { get; set; }