[{"data":1,"prerenderedAt":1524},["ShallowReactive",2],{"navigation":3,"\u002Fschemas\u002Fnumbers":335,"\u002Fschemas\u002Fnumbers-surround":1519},[4,27,73,95,121,135,305,331],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":26},"Getting started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18,22],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":19,"path":20,"stem":21},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start",{"title":23,"path":24,"stem":25},"MSRV","\u002Fgetting-started\u002Fmsrv","1.getting-started\u002F9.msrv",false,{"title":28,"icon":29,"path":30,"stem":31,"children":32,"page":26},"Schemas","i-lucide-shapes","\u002Fschemas","2.schemas",[33,37,41,45,49,53,57,61,65,69],{"title":34,"path":35,"stem":36},"Strings","\u002Fschemas\u002Fstrings","2.schemas\u002F1.strings",{"title":38,"path":39,"stem":40},"Custom rules","\u002Fschemas\u002Frules","2.schemas\u002F10.rules",{"title":42,"path":43,"stem":44},"Numbers","\u002Fschemas\u002Fnumbers","2.schemas\u002F2.numbers",{"title":46,"path":47,"stem":48},"Booleans, literals and enums","\u002Fschemas\u002Fprimitives","2.schemas\u002F3.primitives",{"title":50,"path":51,"stem":52},"Dates and times","\u002Fschemas\u002Fdates","2.schemas\u002F4.dates",{"title":54,"path":55,"stem":56},"Collections","\u002Fschemas\u002Fcollections","2.schemas\u002F5.collections",{"title":58,"path":59,"stem":60},"Dynamic objects","\u002Fschemas\u002Fobjects","2.schemas\u002F6.objects",{"title":62,"path":63,"stem":64},"Modifiers","\u002Fschemas\u002Fmodifiers","2.schemas\u002F7.modifiers",{"title":66,"path":67,"stem":68},"Combinators","\u002Fschemas\u002Fcombinators","2.schemas\u002F8.combinators",{"title":70,"path":71,"stem":72},"Other types","\u002Fschemas\u002Fspecial-types","2.schemas\u002F9.special-types",{"title":74,"icon":75,"path":76,"stem":77,"children":78,"page":26},"Structs","i-lucide-braces","\u002Fstructs","3.structs",[79,83,87,91],{"title":80,"path":81,"stem":82},"schema! macro","\u002Fstructs\u002Fschema-macro","3.structs\u002F1.schema-macro",{"title":84,"path":85,"stem":86},"#[derive(Validate)]","\u002Fstructs\u002Fderive","3.structs\u002F2.derive",{"title":88,"path":89,"stem":90},"Parse vs validate","\u002Fstructs\u002Fparse-vs-validate","3.structs\u002F3.parse-vs-validate",{"title":92,"path":93,"stem":94},"Lenient parsing","\u002Fstructs\u002Flenient","3.structs\u002F4.lenient",{"title":96,"icon":97,"path":98,"stem":99,"children":100,"page":26},"Errors","i-lucide-triangle-alert","\u002Ferrors","4.errors",[101,105,109,113,117],{"title":102,"path":103,"stem":104},"Error model","\u002Ferrors\u002Foverview","4.errors\u002F1.overview",{"title":106,"path":107,"stem":108},"Issue codes","\u002Ferrors\u002Fissue-codes","4.errors\u002F2.issue-codes",{"title":110,"path":111,"stem":112},"Formatting","\u002Ferrors\u002Fformatting","4.errors\u002F3.formatting",{"title":114,"path":115,"stem":116},"Custom messages","\u002Ferrors\u002Fcustom-messages","4.errors\u002F4.custom-messages",{"title":118,"path":119,"stem":120},"Translations","\u002Ferrors\u002Fi18n","4.errors\u002F5.i18n",{"title":122,"icon":123,"path":124,"stem":125,"children":126,"page":26},"OpenAPI","i-lucide-file-json","\u002Fopenapi","5.openapi",[127,131],{"title":128,"path":129,"stem":130},"JSON Schema and OpenAPI","\u002Fopenapi\u002Fjson-schema","5.openapi\u002F1.json-schema",{"title":132,"path":133,"stem":134},"Schema diff","\u002Fopenapi\u002Fdiff","5.openapi\u002F2.diff",{"title":136,"icon":137,"path":138,"stem":139,"children":140,"page":26},"Integrations","i-lucide-plug","\u002Fintegrations","6.integrations",[141,191,209,223,245,259,273,291],{"title":142,"icon":143,"path":144,"stem":145,"children":146,"page":26},"Web frameworks","i-lucide-globe","\u002Fintegrations\u002Fweb","6.integrations\u002F1.web",[147,151,155,159,163,167,171,175,179,183,187],{"title":148,"path":149,"stem":150},"Web adapters overview","\u002Fintegrations\u002Fweb\u002Foverview","6.integrations\u002F1.web\u002F01.overview",{"title":152,"path":153,"stem":154},"vld-axum","\u002Fintegrations\u002Fweb\u002Faxum","6.integrations\u002F1.web\u002F02.axum",{"title":156,"path":157,"stem":158},"vld-actix","\u002Fintegrations\u002Fweb\u002Factix","6.integrations\u002F1.web\u002F03.actix",{"title":160,"path":161,"stem":162},"vld-ntex","\u002Fintegrations\u002Fweb\u002Fntex","6.integrations\u002F1.web\u002F04.ntex",{"title":164,"path":165,"stem":166},"vld-poem","\u002Fintegrations\u002Fweb\u002Fpoem","6.integrations\u002F1.web\u002F05.poem",{"title":168,"path":169,"stem":170},"vld-rama","\u002Fintegrations\u002Fweb\u002Frama","6.integrations\u002F1.web\u002F06.rama",{"title":172,"path":173,"stem":174},"vld-rocket","\u002Fintegrations\u002Fweb\u002Frocket","6.integrations\u002F1.web\u002F07.rocket",{"title":176,"path":177,"stem":178},"vld-salvo","\u002Fintegrations\u002Fweb\u002Fsalvo","6.integrations\u002F1.web\u002F08.salvo",{"title":180,"path":181,"stem":182},"vld-tower","\u002Fintegrations\u002Fweb\u002Ftower","6.integrations\u002F1.web\u002F09.tower",{"title":184,"path":185,"stem":186},"vld-warp","\u002Fintegrations\u002Fweb\u002Fwarp","6.integrations\u002F1.web\u002F10.warp",{"title":188,"path":189,"stem":190},"vld-tonic","\u002Fintegrations\u002Fweb\u002Ftonic","6.integrations\u002F1.web\u002F11.tonic",{"title":192,"icon":193,"path":194,"stem":195,"children":196,"page":26},"OpenAPI and JSON Schema","i-lucide-file-code","\u002Fintegrations\u002Fopenapi","6.integrations\u002F2.openapi",[197,201,205],{"title":198,"path":199,"stem":200},"vld-utoipa","\u002Fintegrations\u002Fopenapi\u002Futoipa","6.integrations\u002F2.openapi\u002F1.utoipa",{"title":202,"path":203,"stem":204},"vld-schemars","\u002Fintegrations\u002Fopenapi\u002Fschemars","6.integrations\u002F2.openapi\u002F2.schemars",{"title":206,"path":207,"stem":208},"vld-aide","\u002Fintegrations\u002Fopenapi\u002Faide","6.integrations\u002F2.openapi\u002F3.aide",{"title":210,"icon":211,"path":212,"stem":213,"children":214,"page":26},"Codegen and test data","i-lucide-wand","\u002Fintegrations\u002Fcodegen","6.integrations\u002F3.codegen",[215,219],{"title":216,"path":217,"stem":218},"vld-ts","\u002Fintegrations\u002Fcodegen\u002Fts","6.integrations\u002F3.codegen\u002F1.ts",{"title":220,"path":221,"stem":222},"vld-fake","\u002Fintegrations\u002Fcodegen\u002Ffake","6.integrations\u002F3.codegen\u002F2.fake",{"title":224,"icon":225,"path":226,"stem":227,"children":228,"page":26},"Databases","i-lucide-database","\u002Fintegrations\u002Fdatabase","6.integrations\u002F4.database",[229,233,237,241],{"title":230,"path":231,"stem":232},"vld-sqlx","\u002Fintegrations\u002Fdatabase\u002Fsqlx","6.integrations\u002F4.database\u002F1.sqlx",{"title":234,"path":235,"stem":236},"vld-diesel","\u002Fintegrations\u002Fdatabase\u002Fdiesel","6.integrations\u002F4.database\u002F2.diesel",{"title":238,"path":239,"stem":240},"vld-sea","\u002Fintegrations\u002Fdatabase\u002Fsea-orm","6.integrations\u002F4.database\u002F3.sea-orm",{"title":242,"path":243,"stem":244},"vld-surrealdb","\u002Fintegrations\u002Fdatabase\u002Fsurrealdb","6.integrations\u002F4.database\u002F4.surrealdb",{"title":246,"icon":247,"path":248,"stem":249,"children":250,"page":26},"Messaging","i-lucide-mail","\u002Fintegrations\u002Fmessaging","6.integrations\u002F5.messaging",[251,255],{"title":252,"path":253,"stem":254},"vld-redis","\u002Fintegrations\u002Fmessaging\u002Fredis","6.integrations\u002F5.messaging\u002F1.redis",{"title":256,"path":257,"stem":258},"vld-lapin","\u002Fintegrations\u002Fmessaging\u002Flapin","6.integrations\u002F5.messaging\u002F2.lapin",{"title":260,"icon":261,"path":262,"stem":263,"children":264,"page":26},"Config and CLI","i-lucide-terminal","\u002Fintegrations\u002Fconfig-cli","6.integrations\u002F6.config-cli",[265,269],{"title":266,"path":267,"stem":268},"vld-config","\u002Fintegrations\u002Fconfig-cli\u002Fconfig","6.integrations\u002F6.config-cli\u002F1.config",{"title":270,"path":271,"stem":272},"vld-clap","\u002Fintegrations\u002Fconfig-cli\u002Fclap","6.integrations\u002F6.config-cli\u002F2.clap",{"title":274,"icon":275,"path":276,"stem":277,"children":278,"page":26},"UI frameworks","i-lucide-monitor","\u002Fintegrations\u002Fui","6.integrations\u002F7.ui",[279,283,287],{"title":280,"path":281,"stem":282},"vld-dioxus","\u002Fintegrations\u002Fui\u002Fdioxus","6.integrations\u002F7.ui\u002F1.dioxus",{"title":284,"path":285,"stem":286},"vld-leptos","\u002Fintegrations\u002Fui\u002Fleptos","6.integrations\u002F7.ui\u002F2.leptos",{"title":288,"path":289,"stem":290},"vld-tauri","\u002Fintegrations\u002Fui\u002Ftauri","6.integrations\u002F7.ui\u002F3.tauri",{"title":292,"icon":293,"path":294,"stem":295,"children":296,"page":26},"Shared crates","i-lucide-package","\u002Fintegrations\u002Fshared","6.integrations\u002F8.shared",[297,301],{"title":298,"path":299,"stem":300},"vld-http-common","\u002Fintegrations\u002Fshared\u002Fhttp-common","6.integrations\u002F8.shared\u002F1.http-common",{"title":302,"path":303,"stem":304},"vld-integration-common","\u002Fintegrations\u002Fshared\u002Fintegration-common","6.integrations\u002F8.shared\u002F2.integration-common",{"title":306,"icon":307,"path":308,"stem":309,"children":310,"page":26},"Guides","i-lucide-book-open","\u002Fguides","7.guides",[311,315,319,323,327],{"title":312,"path":313,"stem":314},"Migration","\u002Fguides\u002Fmigration","7.guides\u002F1.migration",{"title":316,"path":317,"stem":318},"Security notes","\u002Fguides\u002Fsecurity","7.guides\u002F2.security",{"title":320,"path":321,"stem":322},"Performance","\u002Fguides\u002Fperformance","7.guides\u002F3.performance",{"title":324,"path":325,"stem":326},"Contributing","\u002Fguides\u002Fcontributing","7.guides\u002F4.contributing",{"title":328,"path":329,"stem":330},"FAQ","\u002Fguides\u002Ffaq","7.guides\u002F5.faq",{"title":332,"path":333,"stem":334},"Changelog","\u002Fchangelog","9.changelog",{"id":336,"title":42,"body":337,"description":1513,"extension":1514,"links":1515,"meta":1516,"navigation":531,"path":43,"seo":1517,"stem":44,"__hash__":1518},"docs\u002F2.schemas\u002F2.numbers.md",{"type":338,"value":339,"toc":1506},"minimark",[340,345,463,494,771,775,793,966,973,1007,1192,1196,1215,1410,1421,1425,1472,1476,1502],[341,342,344],"h2",{"id":343},"constructors","Constructors",[346,347,348,364],"table",{},[349,350,351],"thead",{},[352,353,354,358,361],"tr",{},[355,356,357],"th",{},"Constructor",[355,359,360],{},"Output",[355,362,363],{},"Notes",[365,366,367,384,407,428,445],"tbody",{},[352,368,369,376,381],{},[370,371,372],"td",{},[373,374,375],"code",{},"vld::number()",[370,377,378],{},[373,379,380],{},"f64",[370,382,383],{},"any JSON number",[352,385,386,391,396],{},[370,387,388],{},[373,389,390],{},"vld::number().int()",[370,392,393],{},[373,394,395],{},"i64",[370,397,398,399,402,403,406],{},"a ",[373,400,401],{},"ZInt"," (= ",[373,404,405],{},"ZInteger\u003Ci64>","); rejects fractions",[352,408,409,422,425],{},[370,410,411,414,415,418,419],{},[373,412,413],{},"vld::i8()"," … ",[373,416,417],{},"vld::i64()",", ",[373,420,421],{},"vld::isize()",[370,423,424],{},"the integer type",[370,426,427],{},"exact, range-checked",[352,429,430,441,443],{},[370,431,432,414,435,418,438],{},[373,433,434],{},"vld::u8()",[373,436,437],{},"vld::u64()",[373,439,440],{},"vld::usize()",[370,442,424],{},[370,444,427],{},[352,446,447,452,457],{},[370,448,449],{},[373,450,451],{},"vld::f32()",[370,453,454],{},[373,455,456],{},"f32",[370,458,459,460,462],{},"rejects values outside the finite ",[373,461,456],{}," range",[464,465,466,467,471,472,474,475,477,478,481,482,485,486,489,490,493],"p",{},"Integers are read ",[468,469,470],"strong",{},"exactly",": there is no ",[373,473,380],{}," round trip, so ",[373,476,437],{}," accepts ",[373,479,480],{},"18446744073709551615",". A float with a fraction fails with ",[373,483,484],{},"not_int","; a value outside the type range fails with ",[373,487,488],{},"too_small"," \u002F ",[373,491,492],{},"too_big"," naming the type's bound.",[495,496,501],"pre",{"className":497,"code":498,"language":499,"meta":500,"style":500},"language-rust shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","use vld::prelude::*;\n\nlet port: u16 = vld::u16().min(1).parse(\"8080\").unwrap();\nassert_eq!(port, 8080);\nassert!(vld::u16().parse(\"70000\").is_err()); \u002F\u002F above u16::MAX\nassert!(vld::u8().parse(\"-1\").is_err());\nassert!(vld::i32().parse(\"1.5\").is_err());   \u002F\u002F not_int\nassert_eq!(vld::u64().parse(\"18446744073709551615\").unwrap(), u64::MAX);\n","rust","",[373,502,503,526,533,598,618,658,692,728],{"__ignoreMap":500},[504,505,508,512,516,520,523],"span",{"class":506,"line":507},"line",1,[504,509,511],{"class":510},"sbssI","use",[504,513,515],{"class":514},"sBMFI"," vld",[504,517,519],{"class":518},"sMK4o","::",[504,521,522],{"class":514},"prelude",[504,524,525],{"class":518},"::*;\n",[504,527,529],{"class":506,"line":528},2,[504,530,532],{"emptyLinePlaceholder":531},true,"\n",[504,534,536,540,544,547,550,553,555,557,561,564,567,570,573,576,579,581,584,588,590,592,595],{"class":506,"line":535},3,[504,537,539],{"class":538},"spNyl","let",[504,541,543],{"class":542},"sTEyZ"," port",[504,545,546],{"class":518},":",[504,548,549],{"class":514}," u16",[504,551,552],{"class":518}," =",[504,554,515],{"class":514},[504,556,519],{"class":518},[504,558,560],{"class":559},"s2Zo4","u16",[504,562,563],{"class":518},"().",[504,565,566],{"class":559},"min",[504,568,569],{"class":518},"(",[504,571,572],{"class":510},"1",[504,574,575],{"class":518},").",[504,577,578],{"class":559},"parse",[504,580,569],{"class":518},[504,582,583],{"class":518},"\"",[504,585,587],{"class":586},"sfazB","8080",[504,589,583],{"class":518},[504,591,575],{"class":518},[504,593,594],{"class":559},"unwrap",[504,596,597],{"class":518},"();\n",[504,599,601,604,606,609,612,615],{"class":506,"line":600},4,[504,602,603],{"class":559},"assert_eq!",[504,605,569],{"class":518},[504,607,608],{"class":542},"port",[504,610,611],{"class":518},",",[504,613,614],{"class":510}," 8080",[504,616,617],{"class":518},");\n",[504,619,621,624,626,629,631,633,635,637,639,641,644,646,648,651,654],{"class":506,"line":620},5,[504,622,623],{"class":559},"assert!",[504,625,569],{"class":518},[504,627,628],{"class":514},"vld",[504,630,519],{"class":518},[504,632,560],{"class":559},[504,634,563],{"class":518},[504,636,578],{"class":559},[504,638,569],{"class":518},[504,640,583],{"class":518},[504,642,643],{"class":586},"70000",[504,645,583],{"class":518},[504,647,575],{"class":518},[504,649,650],{"class":559},"is_err",[504,652,653],{"class":518},"());",[504,655,657],{"class":656},"sHwdD"," \u002F\u002F above u16::MAX\n",[504,659,661,663,665,667,669,672,674,676,678,680,683,685,687,689],{"class":506,"line":660},6,[504,662,623],{"class":559},[504,664,569],{"class":518},[504,666,628],{"class":514},[504,668,519],{"class":518},[504,670,671],{"class":559},"u8",[504,673,563],{"class":518},[504,675,578],{"class":559},[504,677,569],{"class":518},[504,679,583],{"class":518},[504,681,682],{"class":586},"-1",[504,684,583],{"class":518},[504,686,575],{"class":518},[504,688,650],{"class":559},[504,690,691],{"class":518},"());\n",[504,693,695,697,699,701,703,706,708,710,712,714,717,719,721,723,725],{"class":506,"line":694},7,[504,696,623],{"class":559},[504,698,569],{"class":518},[504,700,628],{"class":514},[504,702,519],{"class":518},[504,704,705],{"class":559},"i32",[504,707,563],{"class":518},[504,709,578],{"class":559},[504,711,569],{"class":518},[504,713,583],{"class":518},[504,715,716],{"class":586},"1.5",[504,718,583],{"class":518},[504,720,575],{"class":518},[504,722,650],{"class":559},[504,724,653],{"class":518},[504,726,727],{"class":656},"   \u002F\u002F not_int\n",[504,729,731,733,735,737,739,742,744,746,748,750,752,754,756,758,761,764,766,769],{"class":506,"line":730},8,[504,732,603],{"class":559},[504,734,569],{"class":518},[504,736,628],{"class":514},[504,738,519],{"class":518},[504,740,741],{"class":559},"u64",[504,743,563],{"class":518},[504,745,578],{"class":559},[504,747,569],{"class":518},[504,749,583],{"class":518},[504,751,480],{"class":586},[504,753,583],{"class":518},[504,755,575],{"class":518},[504,757,594],{"class":559},[504,759,760],{"class":518},"(),",[504,762,763],{"class":514}," u64",[504,765,519],{"class":518},[504,767,768],{"class":542},"MAX",[504,770,617],{"class":518},[341,772,774],{"id":773},"bounds","Bounds",[464,776,777,778,781,782,785,786,418,788,418,790,792],{},"The same methods exist on ",[373,779,780],{},"number()",", the integer schemas and ",[373,783,784],{},"f32()","; the argument has the schema's own type (",[373,787,380],{},[373,789,560],{},[373,791,456],{},", …).",[346,794,795,808],{},[349,796,797],{},[352,798,799,802,805],{},[355,800,801],{},"Method",[355,803,804],{},"Check",[355,806,807],{},"Issue",[365,809,810,830,849,866,882,906,930,948],{},[352,811,812,820,825],{},[370,813,814,489,817],{},[373,815,816],{},"min(v)",[373,818,819],{},"gte(v)",[370,821,822],{},[373,823,824],{},">= v",[370,826,827,829],{},[373,828,488],{}," (inclusive)",[352,831,832,840,845],{},[370,833,834,489,837],{},[373,835,836],{},"max(v)",[373,838,839],{},"lte(v)",[370,841,842],{},[373,843,844],{},"\u003C= v",[370,846,847,829],{},[373,848,492],{},[352,850,851,856,861],{},[370,852,853],{},[373,854,855],{},"gt(v)",[370,857,858],{},[373,859,860],{},"> v",[370,862,863,865],{},[373,864,488],{}," (exclusive)",[352,867,868,873,878],{},[370,869,870],{},[373,871,872],{},"lt(v)",[370,874,875],{},[373,876,877],{},"\u003C v",[370,879,880,865],{},[373,881,492],{},[352,883,884,892,900],{},[370,885,886,489,889],{},[373,887,888],{},"positive()",[373,890,891],{},"negative()",[370,893,894,489,897],{},[373,895,896],{},"> 0",[373,898,899],{},"\u003C 0",[370,901,902,489,904,865],{},[373,903,488],{},[373,905,492],{},[352,907,908,916,924],{},[370,909,910,489,913],{},[373,911,912],{},"non_negative()",[373,914,915],{},"non_positive()",[370,917,918,489,921],{},[373,919,920],{},">= 0",[373,922,923],{},"\u003C= 0",[370,925,926,489,928],{},[373,927,488],{},[373,929,492],{},[352,931,932,937,943],{},[370,933,934],{},[373,935,936],{},"multiple_of(v)",[370,938,939,940],{},"divisible by ",[373,941,942],{},"v",[370,944,945],{},[373,946,947],{},"not_multiple_of",[352,949,950,955,961],{},[370,951,952],{},[373,953,954],{},"safe()",[370,956,957,958],{},"within ",[373,959,960],{},"-(2^53 - 1)..=2^53 - 1",[370,962,963],{},[373,964,965],{},"not_safe_integer",[464,967,968,969,972],{},"When several bounds fail, the strictest one is reported. ",[373,970,971],{},"NaN"," never passes a bound.",[464,974,975,978,979,982,983,477,986,989,990,993,994,996,997,999,1000,477,1003,1006],{},[373,976,977],{},"multiple_of"," on floats uses a relative tolerance of ",[373,980,981],{},"1e-9",", so ",[373,984,985],{},"vld::number().multiple_of(0.1)",[373,987,988],{},"0.3",". A divisor of ",[373,991,992],{},"0"," rejects every value. ",[373,995,451],{}," compares at ",[373,998,456],{}," precision, so ",[373,1001,1002],{},"vld::f32().max(0.1)",[373,1004,1005],{},"0.1",".",[495,1008,1010],{"className":497,"code":1009,"language":499,"meta":500,"style":500},"let price = vld::number().positive().multiple_of(0.01);\nassert!(price.parse(\"19.99\").is_ok());\nassert!(price.parse(\"19.999\").is_err());\n\nlet percent = vld::f32().min(0.0).max(100.0);\nassert_eq!(percent.parse(\"12.5\").unwrap(), 12.5_f32);\n",[373,1011,1012,1049,1078,1105,1109,1152],{"__ignoreMap":500},[504,1013,1014,1016,1019,1022,1024,1026,1029,1031,1034,1036,1038,1040,1042,1044,1047],{"class":506,"line":507},[504,1015,539],{"class":538},[504,1017,1018],{"class":542}," price ",[504,1020,1021],{"class":518},"=",[504,1023,515],{"class":514},[504,1025,519],{"class":518},[504,1027,1028],{"class":559},"number",[504,1030,563],{"class":518},[504,1032,1033],{"class":559},"positive",[504,1035,563],{"class":518},[504,1037,977],{"class":559},[504,1039,569],{"class":518},[504,1041,992],{"class":510},[504,1043,1006],{"class":518},[504,1045,1046],{"class":510},"01",[504,1048,617],{"class":518},[504,1050,1051,1053,1055,1058,1060,1062,1064,1066,1069,1071,1073,1076],{"class":506,"line":528},[504,1052,623],{"class":559},[504,1054,569],{"class":518},[504,1056,1057],{"class":542},"price",[504,1059,1006],{"class":518},[504,1061,578],{"class":559},[504,1063,569],{"class":518},[504,1065,583],{"class":518},[504,1067,1068],{"class":586},"19.99",[504,1070,583],{"class":518},[504,1072,575],{"class":518},[504,1074,1075],{"class":559},"is_ok",[504,1077,691],{"class":518},[504,1079,1080,1082,1084,1086,1088,1090,1092,1094,1097,1099,1101,1103],{"class":506,"line":535},[504,1081,623],{"class":559},[504,1083,569],{"class":518},[504,1085,1057],{"class":542},[504,1087,1006],{"class":518},[504,1089,578],{"class":559},[504,1091,569],{"class":518},[504,1093,583],{"class":518},[504,1095,1096],{"class":586},"19.999",[504,1098,583],{"class":518},[504,1100,575],{"class":518},[504,1102,650],{"class":559},[504,1104,691],{"class":518},[504,1106,1107],{"class":506,"line":600},[504,1108,532],{"emptyLinePlaceholder":531},[504,1110,1111,1113,1116,1118,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1141,1143,1146,1148,1150],{"class":506,"line":620},[504,1112,539],{"class":538},[504,1114,1115],{"class":542}," percent ",[504,1117,1021],{"class":518},[504,1119,515],{"class":514},[504,1121,519],{"class":518},[504,1123,456],{"class":559},[504,1125,563],{"class":518},[504,1127,566],{"class":559},[504,1129,569],{"class":518},[504,1131,992],{"class":510},[504,1133,1006],{"class":518},[504,1135,992],{"class":510},[504,1137,575],{"class":518},[504,1139,1140],{"class":559},"max",[504,1142,569],{"class":518},[504,1144,1145],{"class":510},"100",[504,1147,1006],{"class":518},[504,1149,992],{"class":510},[504,1151,617],{"class":518},[504,1153,1154,1156,1158,1161,1163,1165,1167,1169,1172,1174,1176,1178,1180,1183,1185,1188,1190],{"class":506,"line":660},[504,1155,603],{"class":559},[504,1157,569],{"class":518},[504,1159,1160],{"class":542},"percent",[504,1162,1006],{"class":518},[504,1164,578],{"class":559},[504,1166,569],{"class":518},[504,1168,583],{"class":518},[504,1170,1171],{"class":586},"12.5",[504,1173,583],{"class":518},[504,1175,575],{"class":518},[504,1177,594],{"class":559},[504,1179,760],{"class":518},[504,1181,1182],{"class":510}," 12",[504,1184,1006],{"class":518},[504,1186,1187],{"class":510},"5_",[504,1189,456],{"class":514},[504,1191,617],{"class":518},[341,1193,1195],{"id":1194},"coercion","Coercion",[464,1197,1198,1199,1202,1203,1206,1207,418,1209,1206,1212,1214],{},"By default only JSON numbers are accepted. ",[373,1200,1201],{},"coerce()"," also accepts numeric strings and booleans (",[373,1204,1205],{},"true"," → ",[373,1208,572],{},[373,1210,1211],{},"false",[373,1213,992],{},"):",[495,1216,1218],{"className":497,"code":1217,"language":499,"meta":500,"style":500},"let n = vld::number().coerce();\nassert_eq!(n.parse(r#\"\"4.5\"\"#).unwrap(), 4.5);\nassert_eq!(n.parse(\"true\").unwrap(), 1.0);\nassert!(n.parse(r#\"\"NaN\"\"#).is_err());\n\nlet id = vld::u32().coerce();\nassert_eq!(id.parse(r#\"\"42\"\"#).unwrap(), 42);\n",[373,1219,1220,1242,1285,1320,1349,1353,1375],{"__ignoreMap":500},[504,1221,1222,1224,1227,1229,1231,1233,1235,1237,1240],{"class":506,"line":507},[504,1223,539],{"class":538},[504,1225,1226],{"class":542}," n ",[504,1228,1021],{"class":518},[504,1230,515],{"class":514},[504,1232,519],{"class":518},[504,1234,1028],{"class":559},[504,1236,563],{"class":518},[504,1238,1239],{"class":559},"coerce",[504,1241,597],{"class":518},[504,1243,1244,1246,1248,1251,1253,1255,1257,1260,1263,1266,1269,1271,1273,1275,1278,1280,1283],{"class":506,"line":528},[504,1245,603],{"class":559},[504,1247,569],{"class":518},[504,1249,1250],{"class":542},"n",[504,1252,1006],{"class":518},[504,1254,578],{"class":559},[504,1256,569],{"class":518},[504,1258,1259],{"class":586},"r",[504,1261,1262],{"class":518},"#\"",[504,1264,1265],{"class":586},"\"4.5\"",[504,1267,1268],{"class":518},"\"#",[504,1270,575],{"class":518},[504,1272,594],{"class":559},[504,1274,760],{"class":518},[504,1276,1277],{"class":510}," 4",[504,1279,1006],{"class":518},[504,1281,1282],{"class":510},"5",[504,1284,617],{"class":518},[504,1286,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1314,1316,1318],{"class":506,"line":535},[504,1288,603],{"class":559},[504,1290,569],{"class":518},[504,1292,1250],{"class":542},[504,1294,1006],{"class":518},[504,1296,578],{"class":559},[504,1298,569],{"class":518},[504,1300,583],{"class":518},[504,1302,1205],{"class":586},[504,1304,583],{"class":518},[504,1306,575],{"class":518},[504,1308,594],{"class":559},[504,1310,760],{"class":518},[504,1312,1313],{"class":510}," 1",[504,1315,1006],{"class":518},[504,1317,992],{"class":510},[504,1319,617],{"class":518},[504,1321,1322,1324,1326,1328,1330,1332,1334,1336,1338,1341,1343,1345,1347],{"class":506,"line":600},[504,1323,623],{"class":559},[504,1325,569],{"class":518},[504,1327,1250],{"class":542},[504,1329,1006],{"class":518},[504,1331,578],{"class":559},[504,1333,569],{"class":518},[504,1335,1259],{"class":586},[504,1337,1262],{"class":518},[504,1339,1340],{"class":586},"\"NaN\"",[504,1342,1268],{"class":518},[504,1344,575],{"class":518},[504,1346,650],{"class":559},[504,1348,691],{"class":518},[504,1350,1351],{"class":506,"line":620},[504,1352,532],{"emptyLinePlaceholder":531},[504,1354,1355,1357,1360,1362,1364,1366,1369,1371,1373],{"class":506,"line":660},[504,1356,539],{"class":538},[504,1358,1359],{"class":542}," id ",[504,1361,1021],{"class":518},[504,1363,515],{"class":514},[504,1365,519],{"class":518},[504,1367,1368],{"class":559},"u32",[504,1370,563],{"class":518},[504,1372,1239],{"class":559},[504,1374,597],{"class":518},[504,1376,1377,1379,1381,1384,1386,1388,1390,1392,1394,1397,1399,1401,1403,1405,1408],{"class":506,"line":694},[504,1378,603],{"class":559},[504,1380,569],{"class":518},[504,1382,1383],{"class":542},"id",[504,1385,1006],{"class":518},[504,1387,578],{"class":559},[504,1389,569],{"class":518},[504,1391,1259],{"class":586},[504,1393,1262],{"class":518},[504,1395,1396],{"class":586},"\"42\"",[504,1398,1268],{"class":518},[504,1400,575],{"class":518},[504,1402,594],{"class":559},[504,1404,760],{"class":518},[504,1406,1407],{"class":510}," 42",[504,1409,617],{"class":518},[464,1411,1412,1413,1415,1416,1006],{},"Web extractors coerce query, path, form, header and cookie values for you, so you rarely need ",[373,1414,1201],{}," there. See ",[1417,1418,1420],"a",{"href":1419},"\u002Fintegrations\u002Fweb\u002Foverview#text-values-and-coercion","coercion rules",[341,1422,1424],{"id":1423},"messages","Messages",[1426,1427,1428,1435,1441],"ul",{},[1429,1430,1431,1434],"li",{},[373,1432,1433],{},"type_error(\"...\")"," — message for non-number input.",[1429,1436,1437,1440],{},[373,1438,1439],{},"int_error(\"...\")"," on integer schemas — message for a number with a fraction.",[1429,1442,1443,1446,1447,418,1449,418,1451,418,1454,418,1457,418,1460,418,1463,418,1465,1468,1469,1471],{},[373,1444,1445],{},"with_messages(|key| ...)"," — override by check key: ",[373,1448,488],{},[373,1450,492],{},[373,1452,1453],{},"not_positive",[373,1455,1456],{},"not_negative",[373,1458,1459],{},"not_non_negative",[373,1461,1462],{},"not_non_positive",[373,1464,947],{},[373,1466,1467],{},"not_safe",", and ",[373,1470,484],{}," on integer schemas.",[341,1473,1475],{"id":1474},"json-schema","JSON Schema",[464,1477,1478,1480,1481,1484,1485,1488,1489,489,1492,1495,1496,1498,1499,1006],{},[373,1479,780],{}," emits ",[373,1482,1483],{},"{\"type\": \"number\"}",", integers ",[373,1486,1487],{},"{\"type\": \"integer\", \"format\": \"int8\" … \"uint64\"}"," with ",[373,1490,1491],{},"minimum",[373,1493,1494],{},"maximum"," from the type range intersected with your bounds, and ",[373,1497,784],{}," ",[373,1500,1501],{},"{\"type\": \"number\", \"format\": \"float\"}",[1503,1504,1505],"style",{},"html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":500,"searchDepth":528,"depth":535,"links":1507},[1508,1509,1510,1511,1512],{"id":343,"depth":528,"text":344},{"id":773,"depth":528,"text":774},{"id":1194,"depth":528,"text":1195},{"id":1423,"depth":528,"text":1424},{"id":1474,"depth":528,"text":1475},"f64 numbers, exact sized integers, f32, bounds, multiple_of and coercion from strings.","md",null,{},{"title":42,"description":1513},"spv3Bn4SFM64WXJSAGj9b8FITJN-tcpBJV0Co0BwENI",[1520,1522],{"title":38,"path":39,"stem":40,"description":1521,"children":-1},"Reusable named checks (the Rule trait), closure rules, messages and translations by key, JSON Schema keywords, and patterns.",{"title":46,"path":47,"stem":48,"description":1523,"children":-1},"boolean, null, never, any, char, literal, enumeration and enum_of.",1794036358602]