//defaultvalue デフォルト値を指定する\r
//primary プライマリーキーとして指定するなら真。そうでないなら偽\r
//isnotempty 真なら必須メンバーであることを表し、そうでないなら空欄でも構わないことを表す\r
+ //isnotemptyonregistor 真なら登録時に必須メンバーであることを表し、そうでないなら空欄でも構わないことを表す\r
//nodefinetable 真ならテーブルの項目に登録しないことを表し、そうでないなら登録することを表す\r
//visible 詳細画面に表示するなら真。そうでないなら偽\r
//visible_edit 編集画面に表示するなら真。そうでないなら偽\r
- //mustmatchitem ç·¨é\9b\86æ\99\82ã\81«ä¸\80è\87´ã\81\97ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84é \85ç\9b®ã\82\92æ\8c\87å®\9aã\81\99ã\82\8b\r
+ //mustmatchitem ç\99»é\8c²æ\99\82ã\81«ä¸\80è\87´ã\81\97ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84é \85ç\9b®ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bï¼\88ç·¨é\9b\86æ\99\82ã\81«ä¸\80è\87´ã\81\97ã\81ªã\81\84å ´å\90\88ã\81¯ç\84¡è¦\96ã\81\95ã\82\8cã\81¾ã\81\99ï¼\89\r
//rule バリテーション時に実行される関数を指定する\r
// 呼び出される関数の第一パラメーターはバリテーションの対象となるデーターで、第二パラメーターはデーター型となる\r
// 実行される関数でバリテーションが成功した場合、nullを返さなければならない\r
length : 32,\r
visible : false,\r
visible_edit : true,\r
- isnotempty : true\r
+ isnotemptyonregistor : true\r
},\r
newpassword :\r
{\r
return;\r
}else if(typeof(req.body.edit) != "undefined"){\r
var validator = new Validator();\r
- var result = validator.Validate(req.body,config.alias);\r
+ var result = validator.Validate(req.body,config.alias,true);\r
if(result.length > 0)\r
{\r
RenderMessage(res,result,req.session.items);\r
{\r
if(typeof(req.body.registor) != "undefined"){\r
var validator = new Validator();\r
- var result = validator.Validate(req.body,config.alias);\r
+ var result = validator.Validate(req.body,config.alias,false);\r
if(result.length > 0)\r
{\r
RenderMessage(res,result,req.session.items);\r
if(config.alias[key].visible_edit)\r
{\r
if(config.alias[key].type == "password")\r
- item[key] = md5_hex(data[key]);\r
+ {\r
+ if(data[key] != "")\r
+ item[key] = md5_hex(data[key]);\r
+ }\r
else if(data[key] == "" && typeof(config.alias[key].defaultvalue) != "undefined")\r
+ {\r
item[key] = config.alias[key].defaultvalue;\r
+ }\r
else\r
+ {\r
item[key] = data[key];\r
+ }\r
}\r
}\r
return item;\r
//\r
// @body バリテーションの対象となる連想配列\r
// @alias バリテーションを行う要素のリスト\r
- this.Validate = function(body,alias){\r
+ // @editflag 編集時なら真\r
+ this.Validate = function(body,alias,editflag){\r
var result = new Array();\r
for(var key in alias)\r
{\r
if(typeof(alias[key].isnotempty) != "undefined" &&\r
alias[key].isnotempty && body[key] == "")\r
message = resource.is_not_empty;\r
+ else if(typeof(alias[key].isnotemptyonregistor) != "undefined" &&\r
+ alias[key].isnotemptyonregistor && body[key] == "" &&\r
+ !editflag)\r
+ message = resource.is_not_empty;\r
else if(typeof(alias[key].mustmatchitem) != "undefined" &&\r
body[key] != body[alias[key].mustmatchitem])\r
message = util.format(resource.must_match_item,alias[alias[key].mustmatchitem].name); \r