我正在尝试根据ant design https://ant.design/components/form/提供的文档来实现验证器
将方法放在相同的类/组件中时,这些方法将起作用。 验证器方法使用回调方法,该方法会在调用验证方法的地方抛出一个字符串。
我想要实现的是我希望同一验证器方法可重用。当我将它们放在另一个班级时,它不起作用。
我尝试将其移至其他类并导出方法。在同一组件中导入方法时,回调不起作用。
这是我用于验证的方法:
with member [Measures].[Valor Acumulado]
as Sum(PeriodsToDate([Período].[Mês].[(All)]),[Measures].[Valor Pago]
)
with member
[Measures].[Valor Acumulado] as Sum(YTD([Período].[Mês].[(All)]),
[Measures].[Valor Pago])
这是我调用上述方法的地方。
mobileCountryCodeValidator = (rule, value, callback) => {
const { getFieldValue } = this.props.form
let countryCode = getFieldValue('phoneCountryCode')
if (countryCode === '92') {
if (value.substring(0, 1) !== '3') {
callback('Number should start with 3 for Pakistan.')
}
callback()
} else if (countryCode === '966') {
if (value.substring(0, 2) !== '05') {
callback('Number should start with 05 for Saudi Arabia.')
}
callback()
}
}
所以我期望的是如何将<FormItem validateStatus="validating">
{getFieldDecorator('phoneNumber', {rules: [
{ required: true, message: 'Please input your phone number.' },
{ len: 10, message: 'Phone number should be 10 digits long.' },
{ validator: this.numbersValidator },
{ validator: this.mobileCountryCodeValidator },
]})(
<Input placeholder="Enter Mobile Number" />
)}
</FormItem>
方法移到另一个类,以便它可以成为可重用的方法。因此,我也可以在其他组件中使用它们。
答案 0 :(得分:0)
验证者需要import numpy as np
length = 3
sample_data = [2,2,2,2,2,2,3,3,3,3,4,4,4,4,4]
np.random.choice(sample_data, length, False) #Sampling without replacement
Out[287]: array([4, 4, 2])
对象。
您应该能够做到这一点与封闭的一点点
form
和
mobileCountryCodeValidator = (form) => (rule, value, callback) => {
const { getFieldValue } = form; // this line changed
let countryCode = getFieldValue('phoneCountryCode')
if (countryCode === '92') {
if (value.substring(0, 1) !== '3') {
callback('Number should start with 3 for Pakistan.')
}
callback()
} else if (countryCode === '966') {
if (value.substring(0, 2) !== '05') {
callback('Number should start with 05 for Saudi Arabia.')
}
callback()
}
}