我可以从控制器手动调用我的RegularExpressionAttribute吗?

时间:2014-03-17 19:47:58

标签: c# regex asp.net-mvc asp.net-web-api

这是个坏主意吗?看起来好像能够重用正则表达式

[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)]
public class SafeInputAttribute : RegularExpressionAttribute
{
  /// <summary>
  /// Regular expression for safeinput
  /// </summary>
  public SafeInputAttribute()
    : base(@"[^{}<>]+$")
  {
  }
}

这样的东西?

    SafeInputAttribute safeInput = new SafeInputAttribute();
    safeInput.Validate(pin, "Login Pin");

它不起作用,safeinput为null。

感谢任何反馈。

1 个答案:

答案 0 :(得分:0)

你确定safeinput是空的吗?我看不出它会有什么原因。要手动调用验证器,您可以执行以下操作:

SafeInputAttribute validator = new SafeInputAttribute();
bool valid = validator.IsValid(testValue);