我在我的控制器中检查了一些验证.而且我想在失败时将错误添加到表单的特定元素中.我的表格:
use Symfony\Component\Form\FormError;
// ...
$config = new Config();
$form = $this->createFormBuilder($config)
->add('googleMapKey', 'text', array('label' => 'Google Map key'))
->add('locationRadius', 'text', array('label' => 'Location radius (km)'))
->getForm();
// ...
$form->addError(new FormError('error message'));
Run Code Online (Sandbox Code Playgroud)
addError()方法向表单添加错误,而不是元素.如何向locationRadius元素添加错误?
我有另一种情况.我有一个包含值的变量('Weekly','Monthly','Quarterly','Annual'),我有另一个变量,它保存从1到10的值.
switch ($var2) {
case 1:
$var3 = 'Weekly';
break;
case 2:
$var3 = 'Weekly';
break;
case 3:
$var3 = 'Monthly';
break;
case 4:
$var3 = 'Quarterly';
break;
case 5:
$var3 = 'Quarterly';
break;
// etc.
}
Run Code Online (Sandbox Code Playgroud)
它不漂亮,因为我的代码有很多重复.我想要的是:
switch ($var2) {
case 1, 2:
$var3 = 'Weekly';
break;
case 3:
$var3 = 'Monthly';
break;
case 4, 5:
$var3 = 'Quarterly';
break;
}
Run Code Online (Sandbox Code Playgroud)
我怎么能在PHP中做到这一点?先感谢您.对不起我的英语不好.
我用Entity中的一个元素创建了表单:
$promo = new Promo();
$form = $this->createFormBuilder($promo)
->add('code', 'text')
->getForm();
Run Code Online (Sandbox Code Playgroud)
我想添加文件元素(实体中不存在此字段).当我做:
$form = $this->createFormBuilder($promo)
->add('code', 'text')
->add('image', 'file')
->getForm();
Run Code Online (Sandbox Code Playgroud)
我有一个错误:属性"image"和方法"getImage()"都没有.如何添加此字段?
我有一个具有特定键的数组:
array(
420 => array(...),
430 => array(...),
555 => array(...)
)
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,我知道当前的密钥(例如555
).我想获得前面的数组元素.在这个例子中,它是带键的数组元素430
.我怎么能用PHP做到这一点?我尝试过prev()
,但是对于这个函数,我们应该知道当前的数组元素.我没找到函数,设置当前数组元素是什么.
我正在学习ZF2.0测试版.在ZF1中,我们可以在控制器中动态更改布局:
Zend_Layout::getMvcInstance()->setLayout('layoutname');
Run Code Online (Sandbox Code Playgroud)
但是在ZF2.0中, Zend\Layout类没有方法getMvcInstance().我认为它可以使用依赖注入但不确定.
我有一个3行3列的表.如何组合最后一行?我的HTML:
<table>
<tr><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
<tr><td>Here I need a cell by all width</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud) 我有特定键的数组.我想获得前5个数组元素.我用array_splice()
.一切正常,但新阵列中的键是0,1,2,3,4.我想保留以前的数组键.我可以做到foreach
,但我找到了优雅的方法.
我的代码:
$levels = array('a' => 1, 'b' =>2, 'c' => 3, 'd' => 4, 'f' => 5, 'g' => 6);
$levels = array_splice($levels, 5);
Run Code Online (Sandbox Code Playgroud)
先感谢您.对不起我的英语不好.
问题
我有一些结构:
type Config struct {
Applications []Application
}
Run Code Online (Sandbox Code Playgroud)
注意:Config - 是json.Decode的结构.
config = new(Config)
_ = decoder.Decode(&config)
Run Code Online (Sandbox Code Playgroud)
在循环中,我有一些条件和按键删除元素.
for i, application := range config.Applications {
if i == 1 {
config.Applications = _removeApplication(i, config.Applications)
}
}
func _removeApplication(i int, list []Application) []Application {
if i < len(list)-1 {
list = append(list[:i], list[i+1:]...)
} else {
log.Print(list[i].Name)
list = list[:i]
}
return list
}
Run Code Online (Sandbox Code Playgroud)
但总是我有"超出范围"的错误.从结构数组中按键删除元素的最佳方法是什么?
我在Javascript中有以下代码:
jQuery(document).ready(function(){
var actions = new Object();
var actions;
actions[0] = 'create';
actions[1] = 'update';
for (key in actions) {
// Dialogs
var actions[key]+Dialog = function(){
$('#'+actions[key]+'dialog').dialog('destroy');
$('#'+actions[key]+'dialog').dialog({
resizable: false,
height:600,
width:400,
modal: true,
buttons: {
Cancel: function() {
$(this).dialog('close');
}
}
});
};
}
});
Run Code Online (Sandbox Code Playgroud)
我想在循环中创建2个函数(createDialog和updateDialog).我怎样才能做到这一点?在PHP中有非常简单的$$ var.但是如何在JS中使用变量变量我不知道.
谢谢
我需要在Zend Framework 2.0中为自定义类使用自动加载.我的自定义库位于/vendor/Garvey/library/Garvey
.我有一个简单的扩展AbstractTable类/vendor/Garvey/library/Garvey/Db/Table/AbstractTable.php
:
<?php
namespace Garvey\Db\Table;
use Zend\Db\Table\AbstractTable;
abstract class AbstractTable extends AbstractTable
{
public function getItemById($id)
{
}
}
Run Code Online (Sandbox Code Playgroud)
在index.php中,我有以下代码:
require_once 'vendor/ZendFramework/library/Zend/Loader/AutoloaderFactory.php';
Zend\Loader\AutoloaderFactory::factory(array('Zend\Loader\StandardAutoloader' => array(
'prefixes' => array(
'Garvey' => 'vendor/Garvey/library/Garvey',
)
)));
Run Code Online (Sandbox Code Playgroud)
但是我有以下错误.我错过了什么?
Fatal error: Class 'Garvey\Db\Table\AbstractTable' not found
Run Code Online (Sandbox Code Playgroud)
先感谢您.
php ×7
arrays ×3
slice ×2
symfony ×2
autoload ×1
case ×1
css ×1
function ×1
go ×1
html ×1
html-table ×1
javascript ×1
struct ×1
validation ×1
variables ×1