如何验证mvc控制器中文本框中的文本?

时间:2017-09-06 17:52:44

标签: asp.net asp.net-mvc validation asp.net-mvc-4

我正在开发一个MVC项目,我是MVC的新手。我需要验证在textbox中输入的文本。在不同情况下,此textbox的值可以不同(文件,文本和URL)。换句话说,我有一个enumFileTypeEnum,它有三个不同的值。因此,此textbox的输入需要验证3次,即3种不同的情况。当它是文件时,我确实验证了这个textbox。我需要验证FileTypeEnumtext时输入的文字,即7。

//validate for file i.e. ResourceTypeId == 8
if (resource.ResourceTypeId == 8)
        {
            //already done work for it.
        }

        else if (resource.ResourceTypeId == 7)
        {

    // Trying to validate in here for texts 
    //  ^[a-zA-Z]+ ^.+\@.+\..+$

        }

  //validate for url i.e. ResourceTypeId == 9   
        else
        {
    // TODO
        }

上面的代码是我需要进行验证的控制器。请帮忙。

2 个答案:

答案 0 :(得分:1)

如果您想在前端验证,请使用JavaScript执行此操作。

在后端,您可以从 IValidatableObject 派生您的模型,并强制执行各种业务规则。示例在此处:Custom validation in MVC

答案 1 :(得分:0)

最终你需要使用RegularExpressionAttribute。有关详细信息,请查看here。但是你需要创建自己的表达式以适应所有FileTypeEnum三种不同的类型。