ASP.NET CORE 2使用注释在输入字段上禁用拼写检查

时间:2018-12-19 21:24:29

标签: asp.net-core annotations spell-checking

使用ASP.NET CORE 2,有没有办法使用数据注释在输入字段上禁用拼写检查?例如,禁用名字数据的拼写检查... 我知道直接在html视图中设置spellcheck =“ false”,但希望能够在viewmodel /模型中使用属性。

1 个答案:

答案 0 :(得分:0)

您可以创建一个自定义属性,定义该属性是否应进行拼写检查:

[AttributeUsage(AttributeTargets.Property, Inherited = false)]
public class SpellCheckedAttribute : System.Attribute
{
    private bool _spellCheck;
    public SpellCheckedAttribute(bool spellCheck)
    {
        _spellCheck = spellCheck;
    }

    public virtual bool SpellCheck
    {
        get
        {
            return _spellCheck;
        }
    }
}

然后在模型中,您可以在相关属性上添加属性:

public class YourModel
{
    [SpellChecked(true)]
    public string name { get; set; }

}

在控制器中,您可以通过以下方法检查特定属性是否应进行拼写检查:

var nameShouldSpellCheck = typeof(YourModel).GetTypeInfo().GetProperty("name").GetCustomAttribute<SpellCheckedAttribute>().SpellCheck;

然后您可以根据该值在javscript中启用/禁用拼写检查。