datavalidator
2.0.2

Datavalidator ได้รับการออกแบบให้เป็นไลบรารีการตรวจสอบข้อมูลอย่างง่าย
การสนับสนุน: [email protected]
$ boss install github.com/dliocode/datavalidatorเพิ่มโฟลเดอร์ต่อไปนี้ลงในโครงการของคุณใน โครงการ> ตัวเลือก> Delphi Compiler> เส้นทางค้นหา
../datavalidator/src/core
../datavalidator/src/sanitializators
../datavalidator/src/validators
uses DataValidator;
var
LResult: IDataValidatorResult;
begin
LResult :=
TDataValidator.Values
.Validate('APELIDO')
.Trim
.&Not.IsEmpty.WithMessage('Você não informou o seu apelido!')
.IsAlpha(TDataValidatorLocaleLanguage.tl_pt_BR).WithMessage('Seu apelido deve conter apenas letras!')
.IsLength(1, 10).WithMessage('O apelido deve ter no máximo 10 caracteres!')
.&End
.Validate('[email protected]')
.Trim
.&Not.IsEmpty.WithMessage('Você não informou o seu e-mail!')
.IsEmail.WithMessage('Não é um e-mail válido!')
.NormalizeEmail
.&End
.Check;
var
LJO: TJSONObject;
LResult: IDataValidatorResult;
begin
LJO := TJSONObject.ParseJSONValue('{"apelido":"DLIO", "email":"[email protected]"}') as TJSONObject;
LResult :=
TDataValidator.JSON(AJO)
.Validate('apelido')
.Value
.Trim
.&Not.IsEmpty.WithMessage('Você não informou o seu apelido!')
.IsAlpha(TDataValidatorLocaleLanguage.tl_pt_BR).WithMessage('Seu apelido deve conter apenas letras!')
.IsLength(1, 10).WithMessage('O apelido deve ter no máximo 10 caracteres!')
.&End
.&End
.Validate('email')
.Value
.Trim
.&Not.IsEmpty.WithMessage('Você não informou o seu e-mail!')
.IsEmail.WithMessage('Não é um e-mail válido!')
.NormalizeEmail
.&End
.&End
.Validate('login')
.Key // Faz a validação somente da key
.IsRequired.WithMessage('É obrigatório ter a Key "login" no JSON.')
.&End
.Value // Faz a validação somente do valor dentro da Key 'login'
.Trim
.&Not.IsEmpty.WithMessage('Você não informou o login!')
.IsAlpha(TDataValidatorLocaleLanguage.tl_pt_BR).WithMessage('Seu login deve conter apenas letras!')
.IsLength(1, 10).WithMessage('O login deve ter no máximo 10 caracteres!')
.&End
.&End
.Validate('nome')
.Key
.IsOptionalKey // É opcional - se existir a Key "nome" ele faz a validação
.&End
.Value
.Trim
.&Not.IsEmpty.WithMessage('Você não informou o nome!')
.IsAlpha(TDataValidatorLocaleLanguage.tl_pt_BR).WithMessage('Seu nome deve conter apenas letras!')
.IsLength(1, 10).WithMessage('O nome deve ter no máximo 10 caracteres!')
.&End
.&End
.CheckAll;
ตรวจสอบ : ตรวจสอบ การตรวจสอบ ทั้งหมด แต่หากมีรายการส่งคืน ที่ผิดพลาด จะขัดจังหวะการส่งคืนข้อความเดียวที่มีข้อผิดพลาดหากคุณมี!
ตรวจสอบ : ตรวจสอบ การตรวจสอบ ทั้งหมดส่งคืนข้อความทั้งหมดด้วยข้อผิดพลาดหากคุณมี!
การใช้ CheckAll(TDataValidatorCheckAll.tcFirst) มันส่งคืนเฉพาะข้อความแสดงข้อผิดพลาดแรกจากแต่ละ การตรวจสอบ แต่ละครั้ง
Result := LResult.Ok; // True = Nenhum erro | False = Tem erro
Result := LResult.Informations.Message;
Result := LResult.Informations.GetItem(0).Message;
Result := LResult.Informations.Count;
Result := LResult.Values[0]; // Recupera o primeiro valor
function SchemaNome(const AField: string): IDataValidatorSchemaContext;
begin
Result :=
TDataValidator.Schema
.Validate
.Trim
.&Not.IsEmpty.WithMessage('Preencha o campo %s !', [AField]) // Não pode ser vazio
.IsLength(2, 10).WithMessage('O campo %s deve conter entre 2 a 10 caracteres!', [AField])
.IsAlpha(TDataValidatorLocaleLanguage.tl_pt_BR).WithMessage('O campo %s possui caracteres inválidos!', [AField])
.&End;
end;
function SchemaEmail(const AField: string): IDataValidatorSchemaContext;
begin
Result :=
TDataValidator.Schema
.Validate
.Trim
.&Not.IsEmpty.WithMessage('O %s não pode ser vazio!',[AField])
.IsLength(2, 999).WithMessage('O campo %s deve ter mais de 6 caracteres!', [AField])
.IsEmail.WithMessage('Não é um %s válido!',[AField])
.NormalizeEmail
.&End;
end;
begin
TDataValidator.Values
.Validate(ANome)
.AddSchema(SchemaNome('Nome'))
.&End
.Validate(AApelido)
.AddSchema(SchemaNome('Apelido'))
.IsUppercase.WithMessage('O apelido (${value}) deve ser digitado tudo em maiúscula!') // Add outra validação
.&End
.Validate(AEmail)
.AddSchema(SchemaEmail('E-mail'))
.&End
.Validate(AEmailConfirmacao)
.AddSchema(SchemaEmail('E-mail de confirmação'))
.&End
.CheckAll;
end.
เจลทำความสะอาด คือการรักษาค่า
ตัวอย่าง: Sanitizers MD5: ใช้ค่า การตรวจสอบ และแปลงเป็น MD5
TDataValidator.Values
.Validate('APELIDO')
.ToMD5
.&End
| ชื่อ | ข้อมูล |
|---|---|
| ไม่ | เมื่อใช้ตัวตรวจสอบความถูกต้องนี้จะปฏิเสธผลลัพธ์การตรวจสอบความถูกต้อง ตัวอย่าง: ตรวจสอบ ('อีเมล') & ไม่. isempty เป็นที่เข้าใจกันว่าค่าไม่ควรว่างเปล่า |
| วิ่ง | กำหนดสิ่งที่ควรดำเนินการหาก การตรวจสอบ นั้นไม่ผ่านการตรวจสอบความถูกต้อง การดำเนินการตามขั้นตอนนี้เป็นแบบฟอร์มด้วยตนเอง อดีต: checkall.informations.getItem (0) .Onexecute; |
| WithMessage | กำหนดข้อความแสดงข้อผิดพลาด ในการเพิ่มค่าที่ตรวจสอบแล้วลงในข้อความเพียงเพิ่มแท็ก $ {value} ตัวอย่าง: isemail.withMessage ('อีเมล $ {value} ไม่ถูกต้อง!') output: E-mail null@@null está inválido! |
| การตรวจสอบความถูกต้องสำหรับค่า | การตรวจสอบความถูกต้อง JSON (คีย์/ค่า) | คนฆ่าเชื้อสำหรับค่านิยม |
|---|---|---|
| แบบกำหนดเอง | (สำคัญ) | เครื่องทำให้เป็นคน |
| ประกอบด้วย | (กุญแจ) ISRequired | Normalizeeemail |
| endswith | (ค่า) CustomJsonValue | คนเดียว |
| isalpha | (ค่า) isjsjonnull | removeaccents |
| isalphanumeric | (ค่า) Isjsonboolean | แทนที่ |
| isacii | (ค่า) isjsonnumeric | tobase64decode |
| isBase32 | (ค่า) ISJSonstring | Tobase64Encode |
| isbase58 | (ค่า) minemtes | ทั้งหมด |
| isbase64 | (ค่า) Maxites | ทั้งหมด -เวลา |
| ระหว่าง | (ค่า) + การตรวจสอบความถูกต้องสำหรับค่า | tohtmldecode |
| Isboolean | tohtmlencode | |
| isbtcaddress | Tointeger | |
| iScnpj | TOLOWERCASE | |
| ISCPF | TOMD5 | |
| iScpfcnpj | เกี่ยวกับโทน | |
| ไม่ดี | จำนวนมาก | |
| isdateBetween | touppercase | |
| isdatequals | TourldeCode | |
| isdategretethan | Tourlencode | |
| Isdatelesthan | ตัดแต่ง | |
| isdatetime | เลียนแบบ | |
| ismail | สิ่งที่ถูกต้อง | |
| ismpty | ||
| isequals | ||
| isethereumaddress | ||
| Isgaterthan | ||
| isgtin | ||
| isgtin8 | ||
| ISGTIN12 | ||
| ISGTIN13 | ||
| ISGTIN14 | ||
| ishexadecimal | ||
| ishexcolor | ||
| Isinteger | ||
| ISIP | ||
| ISIPv4 | ||
| ISIPv6 | ||
| ISISO8601 | ||
| isjson | ||
| isjsonarray | ||
| isjsonObject | ||
| isjwt | ||
| islatlong | ||
| ความยาว | ||
| islesssthan | ||
| islocale | ||
| Islowercase | ||
| ismacaddress | ||
| Ismagneturi | ||
| ismd5 | ||
| ismimetype | ||
| ismongoid | ||
| ไม่เป็นลบ | ||
| isnumeric | ||
| เกี่ยวกับความไม่ดี | ||
| isocal | ||
| iSpassportnumber | ||
| Isphonenumber | ||
| Isport | ||
| ไม่น่าเชื่อ | ||
| Ispostalcode | ||
| isrgbcolor | ||
| ISSSN | ||
| เวลา | ||
| istimenwe | ||
| istimeequals | ||
| istimegreatethan | ||
| Istimelesthan | ||
| isuppercase | ||
| isurn | ||
| isuuid | ||
| ISUUIDV1 | ||
| isuuidv2 | ||
| ISUUIDV3 | ||
| isuuidv4 | ||
| ISUUIDV5 | ||
| Iszero | ||
| Regexismatch | ||
| startswith |