Pattern.Matches()在xamarin中不起作用

本文关键字:xamarin 不起作用 Matches Pattern | 更新日期: 2023-09-27 18:13:25

我是c#和Xamarin的新手。我正在做验证。我尝试在Android中验证EditText。所以我使用pattern.matches()验证,这是Android方法。

和我使用using Java.Utils.Regex.Pattern,但编译器不接受它,并显示以下错误:

错误:模式是Android.OS.PatternJava.Utils.Regex.Pattern .

代码:

public static bool isValid(EditText edittext, string regex, string errMsg, bool required)
{
    string text = edittext.Text.ToString();
    edittext.Error = null;
    if (required && !hasText(edittext))
        return false;
    if (required && !Pattern.matches(regex, text))
        edittext.Error = "Is not valid";
    return true;
}

更新:

using Android.OS;

上面的命名空间是复杂的要求,因为Android是建立在该命名空间,所以它给错误是我删除该命名空间的Bundle给我错误。

protected override void OnCreate(Bundle savedInstanceState)
{
    base.OnCreate(savedInstanceState);
    SetContentView(Resource.Layout.Activity_register);
}

using Java.Util.Regex.Pattern在Xamarin中没有被导入。

请帮忙解决这个问题

Pattern.Matches()在xamarin中不起作用

如果不想使用完整限定名,也可以使用

using Pattern = Java.Util.Regex.Pattern;

然后写

if (required && !Pattern.Matches(regex, text))

您可以为正在使用的类提供一个完全限定的名称。

使用

if (required && !Java.Util.Regex.Pattern.Matches(regex, text))
                 ^^^^^^^^^^^^^^^^

代替

if (required && !Pattern.Matches(regex, text))