<apex:pageblock id="pageBlock">
<apex: pagblocksection id="pageBlockSec">
<apex:pageblocksectionitem>
<apex:outputlabel value="Big Field">
<apex:inputtextarea value="{!myObject__c.Big_Field__c}" required = true id="bigfield"}"
...
So the first issue is that the iconic redline next to the required field does not display for text areas. To fix this, you have to wrap the tag with an outputpanel like this:
<apex:pageblock id="pageBlock">
<apex: pagblocksection id="pageBlockSec">
<apex:pageblocksectionitem>
<apex:outputlabel value="Big Field">
<apex:outputPanel styleClass="requiredInput" layout="block">
<apex:outputPanel styleClass="requiredBlock" layout="block"/>
<apex:inputtextarea value="{!myObject__c.Big_Field__c}" required = true id="bigfield"}"
</apex:outputPanel>
....
When unit testing, the error that is displayed is something like:
pageBlock:pageBlockSec:j_id38:bigfield: Validation Error: Value is required.
This is not a message a user would understand, even with the text area marked with a red line. Some of the initial searches turned up crazy solutions like using jquery to clean up the message, or rewriting the validation to occur within the controller. So, it took a while but the solution was buried in this thread.
To remove the garbage text in the error, you have to provide the textarea a label attribute. Your final markup will look something like this:
<apex:pageblock id="pageBlock">
<apex: pagblocksection id="pageBlockSec">
<apex:pageblocksectionitem>
<apex:outputlabel value="Big Field">
<apex:outputPanel styleClass="requiredInput" layout="block">
<apex:outputPanel styleClass="requiredBlock" layout="block"/>
<apex:inputtextarea value="{!myObject__c.Big_Field__c}" required = true id="bigfield" label = "Big Field"}"
</apex:outputPanel>
....