gpt4 book ai didi

c# - 如何在C#中使用 “0”验证数字的输入项是否不是

转载 作者:行者123 更新时间:2023-12-03 10:52:41 25 4
gpt4 key购买 nike

我有一个<Entry>类型的控件,例如,我不希望用户输入以“0”开头的值...

0

01

00

00010



但是如果我想输入自然数形式的包含``0''的值,例如...

10

2010

200000


MyView.XAML:
<Entry
HorizontalOptions="FillAndExpand"
Placeholder="Cantidad"
Keyboard="Numeric"
MaxLength="9"
Text="{Binding CantidadContenedor}"></Entry>
MyViewModel.CS:
   string cantidadContenedor;

public string CantidadContenedor
{
get
{
return cantidadContenedor;
}
set
{
if (cantidadContenedor != value)
{
cantidadContenedor = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(CantidadContenedor)));
}
}
}

捕获 Entry的值后,如何添加此验证?

我可以占用 TryParse属性作为 Container Quantity类型的 string吗?

对我有帮助吗?

最佳答案

我将创建一个验证规则。

在您的XAML中

<Entry
HorizontalOptions="FillAndExpand"
Placeholder="Cantidad"
Keyboard="Numeric"
MaxLength="9">
<Entry.Text>
<Binding Path=CantidadContenedor>
<Binding.ValidationRules>
<validationRules:StartWithRule Prefix="0"/>
</Binding>
</Entry.Text>
</Entry>

现在,您可以创建自己认为合适的验证。就你而言
public class StartWithRule : ValidationRule
{
public string Prefix { get; set; }

public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
// Pass the value to string
var numberToCheck = (string) value;

if (numberToCheck == null) return ValidationResult.ValidResult;

// Check if it starts with prefix
return numberToCheck.StartsWith(Prefix)
? new ValidationResult(false, $"Starts with {Prefix}")
: ValidationResult.ValidResult;
}
}

而且您应该很好。

Valid Number Invalid Number

关于c# - 如何在C#中使用 “0”验证数字的输入项是否不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55250492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com