簡體   English   中英

如何使用 AdonisJS 驗證數字

[英]How to validate number using AdonisJS

我正在使用 AdonisJS 4.1 處理項目,我在驗證數字時遇到問題,這是我在控制器代碼中的代碼

const validation = await validate(request.all(), {
    posts_per_page: required|number|min:0
})

當我嘗試用大於 0 的任何數字填充表單字段時,它總是給出如下錯誤消息:

number validation failed on posts_per_page

任何解決此問題的幫助將不勝感激,謝謝。

這里的主要問題是默認情況下,HTML 表單會將所有字段作為字符串發送。 您需要先 使用消毒劑對它們 進行消毒

const { sanitize } = use('Validator')

const data = sanitize(request.all(), {
  posts_per_page: 'to_int',
})

然后您將能夠使用data而不是request.all()進行驗證。

另外,請注意出於安全原因,您應該使用request.only()而不是request.all()

min規則評估值的長度(即字符串或數組的長度),而不是值本身。 為此,您需要使用above規則。 嘗試

const validation = await validate(request.all(), {
    posts_per_page: 'required|number|above:0'
})
const rules = {
  posts_per_page: 'required|number|min:0'
}

const validation = await validate(request.all(), rules)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM