Scout only knows one type of text field: AbstractStringField. Depending on the value of the property "getConfiguredMultilineText", the field is either rendered as <input> or as <textarea>. The property "getConfiguredWrapText" controls if the text area automatically wraps the text or scrolls horizontally. You might also want to set "getConfiguredGridH" to a value greater than 1.
Well, getConfiguredGridH depends on the current grid, but not on the intended number of rows. As in my example rows="4" I would expect a method to render the HTML to that property. If the grid is bigger: don't make the textarea bigger than 4 rows. If the grid is smaller, make a scrollbar, or push the grid's size (height) to the size of the textarea. (Yes, in some Browsers you can resize the textarea by hand, but that's a user thing.)
Currently I have to find a grid height, where the AbstractStringField (with getConfiguredMultilineText) has exactly 4 rows of text.
What is your intention? The cols/rows attribute is only used by the browser to set the initial size - there is no validation or automatic wrap. In Scout, fields are usually layouted by Scout itself, not by the browser's default logic. The size is determined by the field grid, which you can influence by the getConfiguredGridXY methods. This ensures a nice layout where all fields in a column are the same width etc. What would you expect when a form is resized, if a "normal" Scout field and your "special" textarea are mixed together?
If you really need to have the rows/cols attributes , you can try the following (not sure if it really works, though):
Set getConfiguredGridUseUiHeight() = true and getConfiguredGridUseUiWidth() = true on your model field.