几周前我是Couchdb的新手,我 git 克隆了名为sofa [what and app] 的 couchdb 应用程序。整个星期都很顺利,但今天突然间我偶然发现了一些东西。
当我浏览 Sofa 应用程序并尝试创建一个没有标题的帖子时,我的意思是这里 提示和警告框“无法保存文档:无法创建数据库,文件已存在。” 这很奇怪,因为查看源代码我发现需要(在validate_doc_update.js中 返回其自定义 json 错误)类似于这种格式 {"forbidden" : message }) 以禁止为键
v.forbidden = function(message) {
throw({forbidden : message})
};
v.require = function() {
for (var i=0; i < arguments.length; i++) {
var field = arguments[i];
message = "The '"+field+"' field is required.";
if (typeof newDoc[field] == "undefined") v.forbidden(message);
};
};
在 validate_doc_update.js
if (newDoc.type == 'post') {
if (!v.isAuthor()) {
v.unauthorized("Only authors may edit posts.");
}
v.require("created_at", "author", "body", "format", "title");
检查返回的 json 与 json 不同的响应状态,如果 validate_doc_update.js 中的上述require 函数会返回它,这里是 json {"error":"file_exists","reason":"The无法创建数据库,文件已存在。"}
这让人相信validation_doc_update.js中的验证只在更新文档时执行
为了证明这一点,我尝试更新没有标题的文档,期望它会返回错误,但令人惊讶的是文档刚刚被保存
所以这是我关于上面提到的所有观点的问题
validate_doc_update.js“验证”是否仅在更新文档期间工作
if YES
then
how can I manage to succeed in updating a post without the error [Weird bypassing the Validation Completely] . + How can execute validation on create of a document
if NO
then
What is the Error {"error":"file_exists","reason":"The database could not be created, the file already exists."} that is prevent a document to be saved
谁能分享一下这里列出的所有问题