form-strategy

表单策略验证插件

Stars
1
Committers
2

form-strategy

javaScript strategy

{__field__}

TypeScriptcreate-from-strategy

form-strategy empty()``email()rules-validate

npm install form-strategy --save
import { validate, validateAll, extend } from "form-strategy";
// 
extend("phone", {
  validate(value) {
    return /^(?:(?:\+|00)86)?1[3-9]\d{9}$/.test(value);
  },
  massage: "{__field__}",
});
const status = validate("phone", "17a3x66a4d91", "");
// status -> { validate: false, error: "" }

formStrategy.extend(type, options)
formStrategy.validate(type, value[, name[, params]])
formStrategy.validateAll(...args[type, value[, name[, params]]])

validateContainer()empty()``email()``empty / email

// 
import { validate } from "../lib/form-strategy"
const status = validate("email", "[email protected]")
//  status 
{
  validate: true, // , true, 
  error: "" // 
}
// 
import { validate } from "../lib/form-strategy"
const status = validate("email", "9561416545com")
//  status 
{
  validate: false,
  error: ""
}

import { validate, extend } from "../lib/form-strategy"
extend("phone", {
  // validate, value
  // , true, 
  validate(value) {
    return /^(?:(?:\+|00)86)?1[3-9]\d{9}$/.test(value)
  },
  // message , , error
  // {__field__} , , name
  // {__field__} ,  -> name -> type
  message: "{__field__}",
  // , , {__field__} ()
  name: ""
})

// , ,  {__field__} 
const status = validate("phone", "173a11x62579", "1")
//  status 
{
  validate: false,
  error: "1"
}

import { validateAll } from "../lib/form-strategy"
// validateAll ,  validate 
const status = validateAll(
  ["empty", "", ""],
  ["email", "[email protected]", ""],
)
//  status 
{
  validate: false,
  error: ""
}

import { validate, extend } from "../lib/form-strategy"
extend("max", {
  // , validate, 
  validate(value, params) {
    return value.length <= params
  },
  // message, params, 
  message: (params) => {
    return `{__field__}${params}`
  }
})
// validate, , params
const status = validate("max", "12123131231231231", "", 11)
//  status 
{
  validate: false,
  error: "11"
}