IsTrue
验证一个值是否为 true
。具体来说,这会检查该值是否完全是 true
、完全是整数 1
或完全是字符串 '1'
。
另请参阅 IsFalse。
应用于 | 属性或方法 |
类 | IsTrue |
验证器 | IsTrueValidator |
基本用法
此约束可以应用于属性(例如注册模型上的 termsAccepted
属性)和方法。它在后一种情况下最强大,您可以在其中断言方法返回真值。例如,假设您有以下方法
1 2 3 4 5 6 7 8 9 10 11 12
// src/Entity/Author.php
namespace App\Entity;
class Author
{
protected string $token;
public function isTokenValid(): bool
{
return $this->token === $this->generateToken();
}
}
然后,您可以按如下方式使用 IsTrue
验证此方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// src/Entity/Author.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Author
{
protected string $token;
#[Assert\IsTrue(message: 'The token is invalid.')]
public function isTokenValid(): bool
{
return $this->token === $this->generateToken();
}
// ...
}
如果 isTokenValid()
返回 false,则验证将失败。
注意
与大多数其他约束一样,null
被认为是有效值。这是为了允许使用可选值。如果该值是强制性的,则常见的解决方案是将此约束与 NotNull 结合使用。
这项工作,包括代码示例,根据 Creative Commons BY-SA 3.0 许可协议获得许可。