Skip to content

sameAs ​

值与同一对象中的另一个字段相等。类似 Laravel 的 confirmed。

签名 ​

ts
function sameAs(field: string, msg?: Message): Action<unknown>

参数 ​

参数类型说明
fieldstring同一对象中的字段名
msgMessage自定义错误信息。可以是带 {参数} 的字符串或函数

错误代码 ​

代码触发条件默认信息
sameAs值不一致Must match {field}

可以修改这些文本:见 错误信息与国际化。

注意事项 ​

  • 与该字段的原始值比较(在 trim 等转换之前)。如果字段会去除空格,确认字段也要去除。
  • 只在同一个 object 内有效。要与其他位置的字段比较,请使用 check 和 root。

示例 ​

确认密码 ​

ts
const Signup = object({
  password: pipe(string(), minLength(8)),
  passwordConfirm: pipe(string(), sameAs('password', '两次输入的密码不一致')),
});

另请参阅 ​

  • check:与其他字段比较