我有一个基本的symfony2表单,我可以在其中为我的字段设置一个值。
我刚刚发现空值保存为空字符串,我希望会引发异常,因为不接受空值。
我的映射(在特征内):
/**
* @ORMColumn(name="name", type="string", length=100, nullable=false)
*/
protected $name;
我的领域 :
->add('name', null, array(
'label'=>'Nom détaillé',
'required' => false))
将所需设置为 true 并定义断言规则效果很好,但在这里我正在尝试解决此转换问题。
如果我在 SetName 方法中放置一个变量转储,我确实会得到一个空值,该值后来在我的数据库中保存为空字符串。我该如何解决?
编辑:显示创建表t
CREATE TABLE `recipe` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`isProduct` tinyint(1) NOT NULL,
`portions` int(11) DEFAULT NULL,
`nickname` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`shortDescription` varchar(500) COLLATE utf8_unicode_ci DEFAULT NULL,
`weight` decimal(10,2) DEFAULT NULL,
`isPrivate` tinyint(1) NOT NULL,
`name` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`slug` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
`content` longtext COLLATE utf8_unicode_ci,
`createdAt` datetime NOT NULL,
`updatedAt` datetime NOT NULL,
`viewCount` int(11) NOT NULL,
`parentId` int(10) unsigned DEFAULT NULL,
`userId` int(10) unsigned DEFAULT NULL,
`createdBy` int(10) unsigned DEFAULT NULL,
`updatedBy` int(10) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `IDX_DD24B40110EE4CEE` (`parentId`),
KEY `IDX_DD24B40164B64DCC` (`userId`),
KEY `IDX_DD24B401D3564642` (`createdBy`),
KEY `IDX_DD24B401E8DE7170` (`updatedBy`),
CONSTRAINT `FK_DD24B40110EE4CEE` FOREIGN KEY (`parentId`) REFERENCES `recipe` (`id`) ON DELETE SET NULL,
CONSTRAINT `FK_DD24B40164B64DCC` FOREIGN KEY (`userId`) REFERENCES `user` (`id`),
CONSTRAINT `FK_DD24B401D3564642` FOREIGN KEY (`createdBy`) REFERENCES `user` (`id`) ON DELETE SET NULL,
CONSTRAINT `FK_DD24B401E8DE7170` FOREIGN KEY (`updatedBy`) REFERENCES `user` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
似乎
您只需要针对变量添加严格的等价检查===
,然后throw new Exception()
它是否为空