簡體   English   中英

Dry-Validation-規則不將Float隱式轉換為String

[英]Dry-Validation - no implicit conversion of Float into String on rules

我正在嘗試驗證架構中鍵的值。

但是我no implicit conversion of Float into String因為該值是float,並且我正在使用正則表達式來驗證格式。

VALIDATION_PARAMETERS = Dry::Validation.Schema(ApplicationSchema) do
  required(:uid, :string).filled
  required(:value).filled

  rule(insulating_surface: [:uid, :value]) do |uid, value|
    uid.eql?('insulating_surface').then(value.format?(FLOAT_FORMAT))
  end
end

我也試圖將Float轉換為String,但是它返回undefined method format?' for #<String:0x0000557d8877a910> undefined method format?' for #<String:0x0000557d8877a910>

rule(insulating_surface: [:uid, :value]) do |uid, value|
  uid.eql?('insulating_surface').then(value.to_s.format?(FLOAT_FORMAT))
end

我對干燥驗證不是很熟悉,但是我看到有很多內置謂詞記錄在案,包括float? 一。 請嘗試以下操作:

rule(insulating_surface: [:uid, :value]) do |uid, value|
  uid.eql?('insulating_surface') > value.float?
end

暫無
暫無

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

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