<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 模型驗證器 > 譯者:[飛龍](https://github.com/wizardforcel) > 來源:[Model Validations](https://github.com/dresende/node-orm2/wiki/Model-Validations) [Enforce](http://github.com/dresende/node-enforce)模塊用于驗證數據。對于使用以前的驗證器的用戶,還可以繼續使用,它們中的一部分整合到了enforce,剩余部分還沒有。推薦你開始使用`orm.enforce`來取代`orm.validators`。可用的驗證器的列表請見[node-enforce](https://github.com/dresende/node-enforce)。 `unique`驗證器也構建于ORM中,可以這樣來訪問: ``` name: orm.enforce.unique("name already taken!") name: orm.enforce.unique({ scope: ['age'] }, "Sorry, name already taken for this age group") name: orm.enforce.unique({ ignoreCase: true }) // 'John' is same as 'john' (mysql is case insensitive by default) ``` 你可以為模型的每個屬性定義驗證器。對于每個屬性,你可以定義一個或多個驗證器。你也可以使用預定義的驗證器,或者自己新建。 ``` var Person = db.define("person", { name : String, age : Number }, { validations : { name : orm.enforce.ranges.length(1, undefined, "missing"), // "missing" is a name given to this validation, instead of default age : [ orm.enforce.ranges.number(0, 10), orm.enforce.lists.inside([ 1, 3, 5, 7, 9 ]) ] } }); ``` 上面的代碼限定了`name`的長度必須在1和undefined之間(undfined表示任意值),以及`age`必須在0和10(閉區間)之間,而且是列出的值之一。這個例子或許沒有意義,但是足夠解釋了。 保存一個對象的時候,如果由任何一個驗證器驗證失敗,你都會得到一個帶有屬性名稱和驗證錯誤描述的`error`對象。這個描述可以幫助你弄清楚發生了什么。 ``` var John = new Person({ name : "", age : 20 }); John.save(function (err) { // err.field = "name" , err.value = "" , err.msg = "missing" }); ``` 在第一個驗證器驗證失敗之后,驗證就停止了。如果你想要驗證每個屬性并且返回所有驗證錯誤,你可以在全局或局部設置中更改這一行為: ``` var orm = require("orm"); orm.settings.set("instance.returnAllErrors", true); // global or.. orm.connect("....", function (err, db) { db.settings.set("instance.returnAllErrors", true); // .. local // ... var John = new Person({ name : "", age : 15 }); John.save(function (err) { assert(Array.isArray(err)); // err[0].property = "name" , err[0].value = "" , err[0].msg = "missing" // err[1].property = "age" , err[1].value = 15 , err[1].msg = "out-of-range-number" // err[2].property = "age" , err[2].value = 15 , err[2].msg = "outside-list" }); }); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看