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.Pattern
和Java.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中没有被导入。
请帮忙解决这个问题
如果不想使用完整限定名,也可以使用
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))