ASP.NET MVC 5 float和decimal不接受带有“。”的值。 (点) - 文化

时间:2017-07-29 19:14:11

标签: c# asp.net asp.net-mvc asp.net-mvc-5

我有一个视图模型

public class fooViewModel
{
    public int Id { get; set; }
    [Required]
    public string Name { get; set; }
    [Required]
    [CustomAttribute]
    public float foo1{ get; set; }
    [Required]
    [CustomAttribute]
    public decimal foo2 { get; set; }
}

我制作了自定义服务器端验证属性。

[AttributeUsage(AttributeTargets.Property)]
public class CustomAttribute : RequiredAttribute
{
    public CustomAttribute()
    {
        ErrorMessage = "Some message";
    }

    public override bool IsValid(object value)
    {
        string input = value.ToString();
        //some validation logic
        return result;
    }
}

问题在于,当我使用点“。”在foo1或foo2的输入字段中,十进制和浮点数没有得到任何值...我知道这与文化有关...无论如何有一种方法来修复它而不使用foo1的字符串和foo2的? PS:当我使用逗号“,”来表示jquery中的数字表示它是一个无效的数字(jQuery不引人注目)...我知道它与文化有关但是......

0 个答案:

没有答案