我有一个文本区域
<textarea id="text" name="text" rows="6"></textarea>
<style>
#text { width: 30%; }
</style>
提交表单时,我需要检查输入是否超过 6 行。我有一个 JS 代码,它检查滚动条(滚动条存在 = 超过 6 行 = 无效输入),它工作得很好。棘手的部分是,在禁用 JS 的情况下如何使用 PHP 验证输入?
我尝试过这样的事情
public function overflowValidator($input, $maxLines, $cols) {
$linebreakCount = substr_count($input, "\n");
$overflow1 = ($linebreakCount <= $maxLines);
$overflow2 = (ceil(strlen($input) / $cols) <= $maxLines);
return $overflow1 && $overflow2;
}
最大的问题是文本区域的宽度是动态的(响应式设计),所以我不能轻易说出一行中有多少个字母。恐怕这无法解决,但也许有一个我不知道的解决方案......