Why does the require
not throw here when I am passing an empty string for the _name
param?
function MyContract(bytes32 _name) public {
require(_name.length > 0);
name = _name;
}
bytes32soliditytesting
Why does the require
not throw here when I am passing an empty string for the _name
param?
function MyContract(bytes32 _name) public {
require(_name.length > 0);
name = _name;
}
Best Answer
The bytes32 type is always exactly 32 bytes. Therefore, its length is always 32. It is unaware of whether it contains a string, number or something else.
I would recommend doing:
to verify that it does not represent an empty string.