Em relação ao problema de que a verificação do formulário do miniaplicativo uview não entra em vigor e a verificação personalizada do miniaplicativo

Formulário | uView - estrutura de UI para rápido desenvolvimento multiplataforma - estrutura de UI uni-app

Exemplo de site oficial

rules: {
	name: [
		// 必填规则
		{
			required: true,
			message: '此为必填字段',
			// blur和change事件触发检验
			trigger: ['blur', 'change'],
		},
		// 正则判断为字母或数字
		{
			pattern: /^[0-9a-zA-Z]*$/g,
			// 正则检验前先将值转为字符串
			transform(value) {
				return String(value);
			},
			message: '只能包含字母或数字'
		},
		// 6-8个字符之间的判断
		{
			min: 6,
			max: 8,
			message: '长度在6-8个字符之间'
		},
		// 自定义规则判断是否包含字母"A"
		{
			validator: (rule, value, callback) => {
				return uni.$u.test.contains(value, "A");
			},
			message: '必须包含字母"A"'
		},
		// 校验用户是否已存在
		{
			asyncValidator: (rule, value, callback) => {
				uni.$u.http.post('/xxx/xxx', {name: value}).then(res => {
					// 如果验证不通过,需要在callback()抛出new Error('错误提示信息')
					if(res.error) {
						callback(new Error('姓名重复'));
					} else {
						// 如果校验通过,也要执行callback()回调
						callback();
					}
				})
			},
			// 如果是异步校验,无需写message属性,错误的信息通过Error抛出即可
			// message: 'xxx'
		}
	]
}

Depois de escrevê-lo, descobri que a seção normal não entrou em vigor.

É porque não é compatível. Se precisar ser compatível com o mini programa

Precisa adicionar

this.$refs.$form.setRules(this.rules)

pode ser resolvido

Caso a verificação ainda não tenha entrado em vigor, verifique se a tag está preenchida com os atributos necessários.

<u--form ref="$form" labelPosition="left" :model="form" labelWidth="140rpx" :rules="rules">
    <u-form-item label="姓名" prop="name">
		<u--input v-model="form.name" placeholder="请输入姓名"></u--input>
	</u-form-item>
</u--form>

Acho que você gosta

Origin blog.csdn.net/xiaoxiongxia/article/details/132019129
Recomendado
Clasificación