https://laracasts.com/discuss/channels/vue/element-ui-password-password-confirmation-form-validation 经过一番谷歌搜索并找到一个类似的问题但没有答案,我来到 Stackoverflow。
rules: {
newPassword: [
{
required: true,
message: 'Pflichtfeld',
trigger: 'blur',
},
{
validator: (rule, value, callback) => {
if (
!value.match('^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$')
) {
callback(new Error('Das Kennwort muss mindestens 8 Zeichen und diesen Zeichenarten enthalten. Zeichenarten: Kleinbuchstaben, Großbuchstaben, Ziffern, Sonderzeichen.'),
)
}
},
trigger: 'blur',
},
],
newPasswordConfirm: [
{
required: true,
message: 'Pflichtfeld',
trigger: 'blur',
},
{
validator: (rule, value, callback) => {
console.log(this.form.newPassword)
if (value !== this.form.newPassword) {
callback(new Error('Bitte geben Sie den gleichen Wert erneut ein.'))
}
},
trigger: 'blur',
},
],
},
data() {
return {
form: {
currentPassword: '',
newPassword: '',
newPasswordConfirm: '',
},
}
},
newPasswordConfirm 未使用 newPassword 验证,控制台日志不返回任何内容。如果不匹配,我该如何抛出错误?