First of all: this validator requires an active record as target in order to know what table it should check to search for uniqueness. Since Craft has not such a thing you would need to create a record for the content
table in order to make it work.
Furthermore you'll need to check the context of the field, if it's inside a matrix or inside a super table field or whatever so you need to set the target Attribute dynamically based on the table.
Finally it won't serialize your value automatically and search for the string, instead it will just fail because of these lines
foreach ($rawConditions as $key => $value) {
if (is_array($value)) {
$this->addError($model, $attribute, Yii::t('yii', '{attribute} is invalid.'));
return;
}
$conditions[] = [$key => $value];
}
Your value is an array so it will add an error no matter what
However: you can rebuild the functionality by actually validating the model by yourself with this validator instead of defining a validator and letting Craft handling it.
You can see an example in the matrix field it inserts just a function that is being called in the class instead of a validator. Then you can create a dynamic model and validate that one. You can read more about ad hock validations
$email = '[email protected]';
$validator = new yii\validators\EmailValidator();
if ($validator->validate($email, $error)) {
echo 'Email is valid.';
} else {
echo $error;
}