我的验证码是这样的:
function positionSettings() {
document.getElementById("gameWindow").scrollLeft = mapLeft;
document.getElementById("gameWindow").scrollTop = mapTop;
document.getElementById("protagonist").style.left ="507px";
document.getElementById("protagonist").style.top ="347px";
}
function moveMap(keystroke){
switch(keystroke.keyCode){
case 37:
mapLeft = mapLeft - 8;
positionSettings();
break
case 38:
mapTop = mapTop - 8;
positionSettings();
break
case 39:
mapLeft = mapLeft + 8;
positionSettings();
break
case 40:
mapTop = mapTop + 8;
positionSettings();
break
}
}
function loadMap(){
for(updown=0;updown<50;updown++){
for(leftright=0;leftright<50;leftright++){
//alert(tileProperties[leftright][updown]);
var tile = document.createElement("div");
tile.setAttribute("class","mapTile");
if(tileProperties[leftright][updown]){
tile.setAttribute("style","background-color:#00FF00;left:"+ leftright * 32 +"px; top:"+ updown * 32+"px;");
}
else{
tile.setAttribute("style","background-color:#FFFF00;left:"+ leftright * 32 +"px; top:"+ updown * 32+"px;");
}
var tileNum = document.createTextNode(leftright +":"+ updown);
tile.appendChild(tileNum);
document.getElementById("worldMap").appendChild(tile);
}
}
positionSettings();
}
</script>
</head>
<body onload="loadMap()" onkeydown="moveMap(event)">
<div id="gameWindow">
<div id="worldMap">
</div>
</div>
<div id="protagonist">
</div>
</body>
但每次我运行代码时,我都会收到这些错误:
注意(8):未定义的偏移量:0 [CORE \ Cake \ Model \ Validator \ CakeValidationRule.php,第342行] 警告(512):找不到名称的验证处理程序[CORE \ Cake \ Model \ Validator \ CakeValidationRule.php,第281行]
我没有得到什么问题。 任何帮助都感激不尽。 谢谢!!
答案 0 :(得分:1)
问题在这里
'name' => array(
'rule' => array(
'rule'=> 'notEmpty',
//...
)
)
只需将第一个rule
键更改为其他内容
'name' => array(
'validName' => array(
'rule' => array('notEmpty'),
//...
)
)
出现这些错误的原因如下。找到rule
密钥后,Cake会尝试从其值中解析验证处理程序的名称。在第二个示例中,它尝试从array('notEmpty')
获取索引0 的值,并将其解析为notEmpty
方法,一切都很好。
回到原来的name
规则,Cake尝试从array('rule'=>'notEmpty',...)
获取 index 0 的值,没有这样的索引(偏移量),找不到验证处理程序,错误被触发。