Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 新文档验证:CouchDB_Javascript_Validation_Couchdb_Document - Fatal编程技术网

Javascript 新文档验证:CouchDB

Javascript 新文档验证:CouchDB,javascript,validation,couchdb,document,Javascript,Validation,Couchdb,Document,有人能告诉我为什么这是一个新的文档验证功能: { "_id": "_design/must_have_field_verifier", "_rev": "14-7aa573a99ec8cb007edfe6c8dd72ba15", "validate_doc_update": "function(newDoc, oldDoc, userCtx) { function require(field, message) { message = message || \"Docu

有人能告诉我为什么这是一个新的文档验证功能:

{ 
  "_id": "_design/must_have_field_verifier", 
  "_rev": "14-7aa573a99ec8cb007edfe6c8dd72ba15", 
  "validate_doc_update": "function(newDoc, oldDoc, userCtx) { 
 function require(field, message) { 
 message = message || \"Document must have a \" + field; 
  if (!newDoc[field]) throw({forbidden : message}); 
}; 
{ 
 require(\"abc\"); 
 } 
}" 
} 
但是
“abc.def”
在下面的代码中未被“识别”,尽管代码是 有效期:

答复是:

“保存失败:文档必须有abc.def”

我的新文档符合有效条目的条件,并包含“abc.def”:“一些文本”

我尝试过包括:
typeof(!newDoc[field])==='object'
在if语句中,但无法正确设置javascript

{
"_id": "_design/verifier",
"_rev": "5-33f3ff3d650bf1594a9357af58153232",
"validate_doc_update": "function (newDoc, oldDoc, userCtx, secObj) {\n  if     (newDoc.type == \"xyz\"){\n    if (newDoc._deleted === true) {\n      return;\n    }\n    if (!newDoc.abc) {\n      throw({forbidden: \"Document must have an abc.\"});\n    }\n    if (!newDoc.def) {\n      throw({forbidden: \"Document must have a def.\"});\n    }\n  if (!newDoc.ghi) {\n      throw({forbidden: \"Document must have a ghi.\"});\n    }\n  if (!newDoc.jkl.mno) {\n      throw({forbidden: \"Document must have a jkl mno.\"});\n }\n  if (!newDoc.pqr.stu) {\n      throw({forbidden: \"Document must have a pqr stu.\"});\n }\n if (!newDoc.vwx.yyy) {\n      throw({forbidden: \"Document must have a vwx yyy.\"});\n   }\n   }\n  }"
}

我相信答案很简单。

我已经找到了这个问题的答案 在文章的最后添加了2/3的验证部分。(由Robert Kowalski于2014年8月28日撰写)

修改后的代码是:(希望我已正确更正)

{
"_id": "_design/verifier",
"_rev": "5-33f3ff3d650bf1594a9357af58153232",
"validate_doc_update": "function (newDoc, oldDoc, userCtx, secObj) {\n  if     (newDoc.type == \"xyz\"){\n    if (newDoc._deleted === true) {\n      return;\n    }\n    if (!newDoc.abc) {\n      throw({forbidden: \"Document must have an abc.\"});\n    }\n    if (!newDoc.def) {\n      throw({forbidden: \"Document must have a def.\"});\n    }\n  if (!newDoc.ghi) {\n      throw({forbidden: \"Document must have a ghi.\"});\n    }\n  if (!newDoc.jkl.mno) {\n      throw({forbidden: \"Document must have a jkl mno.\"});\n }\n  if (!newDoc.pqr.stu) {\n      throw({forbidden: \"Document must have a pqr stu.\"});\n }\n if (!newDoc.vwx.yyy) {\n      throw({forbidden: \"Document must have a vwx yyy.\"});\n   }\n   }\n  }"
}